- This topic has 3개 답변, 3명 참여, and was last updated 4 years, 7 months 전에 by 석수.
3 답변 글타래를 보이고 있습니다
-
글쓴이글
-
-
🐛참가자
- 글작성 : 2
- 답글작성 : 8
먼저
UIView
는CALayer
를 하나 소유하고 거기에 터치 핸들링이 기능이 추가되어 있는 뷰라고 생각하시고,UIView
는 소유하고 있는CALayer
의delegate
로 설정되어있습니다.오토레이아웃 엔진에 의해
UIView
의 layoutSubviews() 메소드에서 레이아웃 제약조건을 사용해 하위 뷰들의 크기가 계산되고 UIView의 layer의 크기가 변경되면서CALayerDelegate
의 layoutSublayers(of:) 메소드가 호출됩니다.따라서
layoutSublayers(of:)
delegate 메소드를 추가한다음 전달받은 layer(= 일반적으로 UIView의 레이어)의 frame값을 가지고 하위 layer들의 레이아웃을 직접 계산해서 하위 layer의 frame을 업데이트 해주시면 됩니다.2020-05-12 오전 1:33 #7743
-
글쓴이글
3 답변 글타래를 보이고 있습니다
- 답변은 로그인 후 가능합니다.