使用Quartz进行小型图形项目

时间:2013-02-05 12:52:01

标签: ios uiview core-graphics quartz-graphics

我正在开发一个iOS项目,涉及在屏幕上绘制小图形(线条和路径)。

我最初选择使用Quartz而不是OpenGL,因为我需要显示一些基本形状,我需要每5秒更新一次,所以我认为Quartz更好更容易。

我发现我不能简单地在视图中绘制,但我必须将UIView子类化并在drawRect方法中绘制。

在我的项目中,用户应该能够捏合和缩放图形,所以我计划在视图中添加一个pinchgesture,但我怀疑如何在捏之后重绘一切。我是否必须删除所有内容并重新添加子视图以使drawRect触发或有更好的方法来执行此操作吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

使用Quartz时,从技术上讲, 不能将视图子类化并替换drawRect,但这可能是最佳实践。如果要重绘窗口,只需调用[self setNeedsDisplay];(如果从子视图调用,或[self.view setNeedsDisplay];,如果从视图控制器执行此操作)。这将导致您为您调用drawRect方法,并为您处理所有事情。

有关详细信息,请参阅setNeedsDisplay文档。