目前,我有以下自定义视图
对于色轮(右侧的组件)和亮度条(左侧的组件),我正在通过重写UIView'sdraw函数来实现。
对于可移动的黑白小圆圈,我正在使用CAShapeLayer.
我想知道,是否有任何好的经验法则来决定是覆盖UIView的draw功能,还是CAShapeLayer在实现子视图时使用?
目前,我个人的经验法则是
- 当绘制是静态的时候,我会通过覆盖UIView的draw函数来实现
- 当绘图是可移动/动态时,我将使用 CAShapeLayer 来实现。原因是,每当我移动对象时,我都可以执行
addSublayer,而无需调用setNeedsDisplay,这(也许)可能有助于提高性能?
我可以知道是否有任何经验法则来决定是覆盖 UIView 的绘制功能,还是在实现子视图时使用 CAShapeLayer?
