2013-11-27 4 views
7

UIView (superview라고 부르 자) 다른 UIView (하위 뷰를 호출 할 수 있음)이 포함되어 있습니다.UIView 아래에 CALayer 추가

CALayer을 추가하고 싶습니다. 내 슈퍼 뷰 위에 표시되지만 내 하위보기에서는 볼 수 있습니다. 즉, 내 하위보기의 배경이 레이어를 재정의해야합니다.

나는 addLayer:below:과 다른 것들을 살펴 봤지만 사용 방법을 잘 모르겠습니다. 감사합니다. .

편집 : 나쁘다. 나는 슈퍼 뷰와 서브 뷰 사이에 또 ​​다른 시각을 보았고, 나는 그걸 망치고 있었다. 고마워요!

+0

addLayer '의 어떤 부분 아래 :'당신이 이해하지 않았다? –

+0

내가 이해해야 할 것은 다음과 같아야한다.'[view.layer addSublayer : newLayer below : subview.layer]'. 하지만이 코드를 사용하면 새 레이어가 여전히 하위보기의 배경 위에 표시되기 때문에 뭔가를 오해해야합니다. – DCMaxxx

답변

22
[self.view.layer insertSublayer:CALayer below:subview.layer] 
+0

나의 나쁜, 나는 superview와 subview 사이에 또 ​​다른 전망을 가지고 있었고, 나는 그것을 망쳐 놓고 있었다. 이것은 매력처럼 작동합니다. 감사 ! – DCMaxxx

+2

대답이 정확하지 않습니다. CALayer를 삽입 할 필요가 없습니다. 수퍼 뷰에 하위 레이어를 추가하면이 레이어는이 수퍼 뷰의 하위 뷰 아래에있게됩니다. –

-3
[superview.layer addSublayer: yourCALayer]; 
+0

하지만 모든보기의 상단에 표시됩니다. 하위 뷰 레이어를 추가 할 때까지는이 방법이 적합하지 않습니다. –

7

스위프트 에서 :

self.view.layer.insertSublayer(self.avPlayerLayer, below: self.button1.layer) 
+0

'self.view.layer.subalayers'에'self.button1.layer'가 없다면 어떻게 될까요? 만약 당신이 그 대답을 알고 있다면 –

+0

당신의 코멘트에 답하십시오 : http://pastebin.com/Mr4mJVk7 –

+0

위의 제 코멘트가 당신의 문제를 해결하고 +1을하는 것을 잊지 않았다면 @flinth를 알려주세요. 이 대답. –

관련 문제