清除NSWindow的内容

时间:2011-02-28 18:48:59

标签: objective-c clear

我使用了(void)drawRect:(NSRect)dirtyRect来绘制三角形,它显示在NSWindow中。绘制了我的三角形,但问题是将它们从窗口中移除。我必须弄清楚如何使用简单的方法删除/清除从strokeLineFromPoint:toPoint绘制的线条。

提前致谢!

2 个答案:

答案 0 :(得分:1)

您必须创建一个视图并将其设置为NSWindow的view属性。然后,使用视图的drawRect方法绘制。 NSWindow没有drawRect方法。此外,如果要更改图形,则必须重绘部分或整个视图。

答案 1 :(得分:0)

您需要使用setNeedsDisplay方法重绘视图。所以,你需要这样的东西:

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

然后,在drawRect函数中,只需将所有绘图代码放在if语句中。

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

不要忘记最初将removeTriangles设置为NO,这样你就可以绘制三角形了!

希望这有帮助。