在iOS上绘制图形:使用图层还是覆盖drawRect?

时间:2012-08-07 17:08:15

标签: iphone ios ipad calayer drawrect

阅读文档,我不清楚是否适用UIView的drawRect或使用图层。

我要渲染两种图形。折线图和单条形条形图。两者都会沿轴线有刻度,而文本与刻度线对齐。下面我每个轴只显示四个刻度,但可能会有更多。

  1. 绘制刻度线的更好方法是什么?我应该为每个刻度使用单独的图层,还是使用 drawRect 在单独的视图中一次渲染它们?

  2. 除了为每个文字使用单独的 UILabel 之外,还有其他方式呈现文字吗?

  3. 对于条形图,我使用 CAGradientLayer 作为条形图。对于折线图,是否可以使用图层进行渲染?

  4. 示例图

    enter image description here

1 个答案:

答案 0 :(得分:2)

最后,我使用了覆盖drawRectCALayer / CAShapeLayer的组合。现在已经完成了从头开始实现它的过程,我会选择形状和层次。

形状和层方法具有足够的性能,是一种更强大的解决方案。最后,如果你正在做动画之类的事情,它需要更少的代码。