2010-04-03 98 views
0

HI全部。Can not draw in CAlayer

我有UIScrollView的子类。在这堂课中,我添加了一些imageView.layerself.layer。当我拨打电话[imageView.layer setNeedsDisplay]时,我实施的代表从未致电。

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

I`ve还设置

imageView.layer.delegate = self 

谁能告诉我在哪里,我必须设置委托功能做这个工作。

谢谢您的提前。

回答

0

你的方法有些奇怪。

如果OU有一个滚动型和ImageView的你不需要添加图层,你可以做
[scrollView addSubview: imageView];

而且,你并不需要一个委托绘制UIViewUIWindow。 但是,如果您想要添加代表仍然可以执行此操作: imageView.delegate = ImageView不应该是他自己的委托,您将需要一些ViewController,更好的ScrollViewController。

+0

我想说我的问题特别解决。我定义了另一个类,并向该类中添加了一个drawLayer函数:inContect函数,并将此类的对象设置为我的图层委托。在开始这个功能被称为,但是当我打电话给 [myLayer setNeedsDisplay]函数,这个函数永远不会被调用。 – Ann 2010-04-04 15:48:39

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

    //         vvvvvvvvv 
    - (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx 
    
  2. 不覆盖附连到图另一层的代表(这是视图)。这会使视图无法正常运行。