我正在开展一个项目,我正在使用CAShapeLayer
在某些内容后面渲染网格。问题是操作系统创建了这个CAShapeLayer
子类的多个实例,当我期待一个时。
首先,我将CAShapeLayer
子类化,覆盖init
和layoutSublayers
(该图层有一些子图层可以呈现其他内容)。
然后,我在使用我的+[UIView layerClass]
子类的视图中覆盖了CAShapeLayer
。
最后,使用我的图层的视图作为子视图添加到UIScrollView
。
要使用正确的类(GridLayer
vs CALayer
)引用self.layer(在视图中),我创建了以下属性:
@property (nonatomic, weak, readonly, getter=graphLayer) GraphLayer *graphLayer;
和getter
- (GraphLayer *)graphLayer {
return (GraphLayer *)self.layer;
}