2013-03-13 3 views
0

최신 SDK가 포함 된 iOS 앱을 개발 중입니다.CALayer I을 사용자 정의 UIView에 추가하면 UIImageView 자식을 숨 깁니다.

UIImage으로 내부에 있습니다. 내가 그렇게 할 때, 나는 UIImage을 볼 수 없습니다,

- (void)changeBackgroundWithLayer:(CALayer*)newLayer 
{ 
    if (_gradientBackground != nil) 
     [_gradientBackground removeFromSuperlayer]; 

    _gradientBackground = newLayer; 
    [self.layer addSublayer:_gradientBackground]; 
} 

:하지만, 그 정의 UIView에 나는 그라데이션 레이어를 추가합니다.

UIViewCALayer을 추가하고 UIImageView을 보려면 어떻게해야합니까?

계층 구조는 다음과 같습니다

UIView 
    | 
    ---- UIImageView 

답변

2

그것은 당신의 뷰 계층 구조가 실제로 무엇으로 혼란.

UIImageUIView이며, UIImageViewUIView입니다. 또는 이미지를 수동으로 그리려면 drawRect를 재정의합니까?

그래디언트가 이미지 레이어 뒤에 있는지 확인해야하므로 insertLayer:atIndex:을 보겠습니다. 수동으로 그리는 경우 UIView에 하위보기로 추가하면 UIImageView으로 전환됩니다.

0

내 솔루션 :

- (void)changeBackgroundWithLayer:(CALayer*)newLayer 
{ 
    if (_gradientBackground != nil) 
     [_gradientBackground removeFromSuperlayer]; 

    _gradientBackground = newLayer; 
    [self.layer insertSublayer:newLayer atIndex:0]; 
} 
관련 문제