Очистка содержимого NSWindow
Я использовал (void)drawRect:(NSRect)dirtyRect для рисования треугольников, который отображается в окне NSWindow. Мои треугольники нарисованы, но проблема заключается в удалении их из окна. Я должен выяснить, как удалить / очистить линии, которые нарисованы из strokeLineFromPoint:toPoint, используя простой метод.
Заранее спасибо!
2 ответа
Вы должны создать представление и установить его в свойстве представления NSWindow. Затем нарисуйте с помощью метода drawRect представления. NSWindow не имеет метода drawRect. Кроме того, если вы хотите изменить чертеж, вы должны перерисовать деталь или весь вид.
Вам нужно использовать метод setNeedsDisplay, чтобы перерисовать представление. Итак, вам нужно что-то вроде этого:
-(void) deleteStuff{
removeTriangles = YES; //Boolean value
[myView setNeedsDisplay];
}
Затем внутри функции drawRect просто поместите весь свой код для рисования в оператор if.
(void)drawRect:(NSRect)dirtyRect{
if(!removeTriangles){
//Rest of drawing code
}
}
Не забудьте сначала установить для removeTriangles значение NO, чтобы вы могли рисовать треугольники!
Надеюсь это поможет.