Catrise를 사용하여 UIView의 하위보기를 슬라이드합니다. 그러나 문제는 CATransition이 항상 전체 화면에 나타납니다. 전환하는 동안 겹쳐지는 창에 다른 UI 요소가 있기 때문에 엉망으로 보입니다. UIView 프레임으로 프레임 전환을 어떻게 제한 할 수 있습니까? 내 UIView의 clipToBounds를 YES로 설정하려고했습니다. 실제로 그것은 도움이되지 않습니다.CATransition UIView의 경계에 클립하는 방법?
6
A
답변
1
나는 이것에 대해 100 % 확신하지는 않지만, 화면에 적용하는 CATransition에 대해서는 틀렸다고 생각합니다. 애니메이션을 추가하는보기에 적용됩니다.
실제로 전환하려는보기의 부모에 전환을 적용하는 것이 좋습니다. 그래서 당신은 다음과 같은 구조를 가지고 있다고 말합니다.
- 의 UIViewController
-
- 보기 (의 UIViewController의 기본보기) 당신은 당신이해야 할 일은
을 전환하고
- 보기 "는 추가입니다 기본 UIViewController 사이에 "보유"또는 "컨테이너"보기 보기와는 다음과 같습니다 있도록 실제 대상보기 :
- 의 UIViewController
-
- 보기 (의 UIViewController의 기본보기)
- "용기"보기 < - 신청은 여기로 전환
- 전환 중보기
- "용기"보기 < - 신청은 여기로 전환
- 보기 (의 UIViewController의 기본보기)
컨테이너보기로 전환을 적용하고 당신이 원하는 경우, 클립 할 수 있습니다. 그래도 범위를 벗어나면 클립을 켜거나 포함 된 뷰의 경계 또는 레이어의 masksToBounds 속성을
+0
두 계정에서 수정 : 전환을 적용 할 'UIView'는 'clipsToBounds'를 사용하여 슈퍼 뷰에서 클리핑해야합니다. – SwiftArchitect
알아 냈습니까? –