实现绘图功能的最佳方式,如Keynote

Joh*_*adj 6 iphone optimization drawing calayer uiview

我正在尝试制作一个小工具来绘制简单的几何对象(矩形,圆角矩形,椭圆形,星形......).我的目标是制作一些非常接近Keynote(绘图功能)的东西,即让用户添加一个rect(例如),调整它并移动它.我也想要用户可以选择多个对象并将它们一起移动.

我已经考虑过至少3种不同的方法:

  • 扩展UIView用于每个对象类型,一个用于Rect的类,另一个用于Ellipse,...用自定义绘图方法.然后将此视图添加为全局视图的子视图.
  • 扩展CALayer为每个对象类型,一个类为Rect,另一个为Ellipse,...使用自定义绘图方法.然后将此图层添加为全局视图图层的子图层.
  • 为每个对象类型扩展NSObject,为Rectipse扩展另一个类,为Ellipse扩展另一个类,...只有一个绘图方法,它将获取CGContext和Rect作为参数并直接绘制其中的表单.这些方法将通过全局视图的绘制方法调用.

我知道两种第一种方法都带有检测每个物体触摸的功能,可以轻松添加阴影,但是我担心它们有点太重了?这就是为什么我想到了最后一种方式,它似乎是直截了当的.

哪种方式会更有效率??? 或者也许我没有想到另一种方式?

任何帮助将不胜感激 ;-)

谢谢.

pet*_*ert 1

我将使用 UIKit 类来进行绘图,然后从那里分析和优化您的代码。

Apple/iPad 信息:链接文本