无法在CAlayer中绘制

时间:2010-04-03 11:00:40

标签: objective-c core-animation

全部。

我有UIScrollView的子类。在本课程中,我向imageView.layer添加了一些self.layer。当我致电[imageView.layer setNeedsDisplay]时,我的实施代表从未打过电话。

-(void)drawLayer:(CALayer*)layer :(CGContextRef)context 

我也设置了

imageView.layer.delegate = self

有人能告诉我在哪里必须设置委托功能才能使其正常工作。

感谢您提前。

2 个答案:

答案 0 :(得分:0)

当你接近时,有些事情有点奇怪。

如果你有一个ScrollView和一个ImageView,你不需要添加图层,你可以做到 [scrollView addSubview: imageView];

此外,您无需委托将UIView绘制到UIWindow。 但是,如果您仍想添加代理,则可以执行以下操作: imageView.delegate = ImageView不应该是他自己的委托,你需要一些ViewController,更好的是ScrollViewController。

答案 1 :(得分:0)

  1. 方法名称为-drawLayer:inContext:。代理人的方法签名应该是这样的:

    //                                  vvvvvvvvv
    - (void)drawLayer:(CALayer *)layer  inContext:(CGContextRef)ctx
    
  2. 不要覆盖附加到视图的另一个图层的委托( 该视图)。这将使视图无法正常运行。