2010-04-03 97 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. 不覆蓋附連到圖另一層的代表(這是視圖)。這會使視圖無法正常運行。