在NSView和子类中绘图

时间:2015-02-04 01:10:50

标签: core-graphics nsview drawrect

我正在重写一个非常大的绘图程序,现在Xcode使用Storyboards for Cocoa应用程序,并且只是对优化的一些事情感到困惑。

让我们说我有一个绘图程序,用户可以在NSView(子类:MyDrawing)上绘制不同的形状(矩形,三角形,圆形,星形等)。清除这些形状'必须将一个点保存在一个数组中,以便drawRect稍后调用,以便它们不被清除。但是我注意到,DrawRect / Core Graphics的形状越多,实际上陷入困境,当调整形状时,它就非常laggy。

这类事情的最佳做法是什么?我应该为每个形状创建一个单独的类吗?我应该为每个形状创建一个新的NSView吗? (虽然第二个对我来说没什么意义)

之前我所做的只是调用drawinRect方法来更新NSView的某些部分,但发现它仍然有点慢。

最好的方法是绘制多个形状(同时让用户稍后编辑它们)是什么?

1 个答案:

答案 0 :(得分:0)

我建议在NSView中使用CALayer。