2010-04-03 3 views
0

안녕하세요.CAlayer에 그릴 수 없습니다.

하위 클래스가 UIScrollView입니다. 이 수업에서는 imageView.layerself.layer에 추가했습니다. 그리고 [imageView.layer setNeedsDisplay]을 호출하면 구현 된 대리자가 호출되지 않습니다.

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

I`ve 또한 내가이 일을 할 수 있도록 위임 기능을 설정해야합니다 어디 사람이 말해 줄 수

imageView.layer.delegate = self 

을 설정합니다.

진심으로 감사드립니다.

답변

0

당신과 약간 이상한 점이 있습니다.

OU가있는 ScrollView를 가지고 이미지 뷰 당신이 레이어를 추가 할 필요가없는 경우, 당신은 단지 또한, 당신이 UIWindowUIView을 그리기 위해 대리자를 필요가 없습니다
[scrollView addSubview: imageView];

을 할 수 있습니다. 그러나 대리자를 추가하려는 경우에도 다음을 수행 할 수 있습니다. imageView.delegate = ImageView가 자신의 대리자가 아니어야합니다. 일부 ViewController가 필요하며 더 나은 ScrollViewController가 필요합니다.

+0

특히 내 문제가 해결되었다고 말하고 싶습니다. 다른 클래스를 정의하고이 클래스에 하나의 함수 drawLayer : inContect 함수를 추가하고이 클래스의 객체를 내 레이어 대리자로 설정합니다. 처음에는이 함수가 호출되었지만 [myLayer setNeedsDisplay] 함수를 호출하면이 함수는 호출되지 않습니다. – Ann

0
  1. 메소드 이름은 -drawLayer:inContext:입니다. 대리인의 메소드 서명은 다음과 같이해야합니다 :

    //         vvvvvvvvv 
    - (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx 
    
  2. 이 (보기입니다) 뷰에 부착 된 다른 층의 위임을 무시하지 마십시오. 이렇게하면보기가 정상적으로 작동하지 않습니다.

관련 문제