我在研究 CALayers 时看到了这个解决方案。我正在寻找一种在具有多个子层的 UIView 中实现自定义绘图的方法。我这样命名我的子层:
layer1.name = @"Back";
layer2.name = @"Middle";
layer3.name = @"Front";
我创建了由这些层实现的自定义方法
-(void)drawBackLayer:(CALayer *)layer inContext:(CGContextRef)ctx
-(void)drawMiddleLayer:(CALayer *)layer inContext:(CGContextRef)ctx
-(void)drawFrontLayer:(CALayer *)layer inContext:(CGContextRef)ctx
问题是这些方法没有被实现,而是drawLayer:inContext:
被视图根层使用的 ,被实现了四次。这意味着自定义层实现了此方法而不是自定义方法。谁能向我解释为什么?
注意:我在链接中提到的解决方案是 Dave Lee 提供的代码。