在iOS上绘制图形:使用图层或覆盖drawRect?
问题描述:
通过阅读文档,我不清楚重写UIView的drawRect或使用图层是否合适。在iOS上绘制图形:使用图层或覆盖drawRect?
我将呈现两种图形。线条图和单条条形图。两者都沿着轴线有刻度线,文字与刻度线对齐。下面我只显示每个轴四个刻度,但可能还有更多。
什么是绘制蜱的更好方法?我应该为每个勾号使用一个单独的图层,还是使用一个单独的视图一次全部渲染它们:
drawRect
?是否有另一种方法来呈现文本,而不是每个使用单独的
UILabel
?对于条形图,我使用
CAGradientLayer
为酒吧。对于线图,甚至可以使用图层来渲染它。
样品格拉夫
答
最后,我使用重写drawRect
和CALayer
/CAShapeLayer
的组合。现在已经完成了从头开始实施这个过程,我会去形状和层次。
形状和图层的方法是很多高性能,并且是一个更强大的解决方案。最后,如果你正在做动画等事情,它会减少代码。
有一个WWDC讨论会讨论Stocks.app中的图表。它被称为适用于iOS开发人员的实用绘图,来自WWDC 2011. – 2012-08-07 17:14:53
您还可以查看[CAShapeLayer](http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CAShapeLayer_class/Reference/Reference。 html)为线图。 – 2012-08-07 17:20:11
@DavidRönnqvistCAShapeLayer看起来正是我所需要的。从我读过的内容来看,CALayer高度优化,并且具有各种各样的动画效果,除非您无法使用CALayer进行渲染,否则手动渲染无效。 – Brian 2012-08-07 17:21:53