Очистка содержимого NSWindow - PullRequest
0 голосов
/ 28 февраля 2011

Я использовал (void) drawRect: (NSRect) dirtyRect, чтобы рисовать треугольники, которые отображаются в NSWindow. Мои треугольники нарисованы, но проблема заключается в удалении их из окна. Я должен выяснить, как удалить / очистить линии, которые нарисованы из strokeLineFromPoint: toPoint, используя простой метод.

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 28 февраля 2011

Вы должны создать представление и установить его в свойстве представления NSWindow.Затем нарисуйте с помощью метода drawRect представления.NSWindow не имеет метода drawRect.Кроме того, если вы хотите изменить чертеж, вы должны перерисовать деталь или весь вид.

0 голосов
/ 28 февраля 2011

Вам нужно использовать метод setNeedsDisplay, чтобы перерисовать представление. Итак, вам нужно что-то вроде этого:

-(void) deleteStuff{
   removeTriangles = YES; //Boolean value
   [myView setNeedsDisplay];
}

Затем внутри функции drawRect просто поместите весь код для рисования в оператор if.

(void)drawRect:(NSRect)dirtyRect{
   if(!removeTriangles){
      //Rest of drawing code
   }
}

Не забудьте изначально установить для removeTriangles значение NO, чтобы вы могли рисовать треугольники!

Надеюсь, это поможет.

...