2010-07-09 4 views
6

Catrise를 사용하여 UIView의 하위보기를 슬라이드합니다. 그러나 문제는 CATransition이 항상 전체 화면에 나타납니다. 전환하는 동안 겹쳐지는 창에 다른 UI 요소가 있기 때문에 엉망으로 보입니다. UIView 프레임으로 프레임 전환을 어떻게 제한 할 수 있습니까? 내 UIView의 clipToBounds를 YES로 설정하려고했습니다. 실제로 그것은 도움이되지 않습니다.CATransition UIView의 경계에 클립하는 방법?

+0

알아 냈습니까? –

답변

1

나는 이것에 대해 100 % 확신하지는 않지만, 화면에 적용하는 CATransition에 대해서는 틀렸다고 생각합니다. 애니메이션을 추가하는보기에 적용됩니다.

실제로 전환하려는보기의 부모에 전환을 적용하는 것이 좋습니다. 그래서 당신은 다음과 같은 구조를 가지고 있다고 말합니다.

  • 의 UIViewController
    • 보기 (의 UIViewController의 기본보기) 당신은 당신이해야 할 일은

을 전환하고

  • 보기 "는 추가입니다 기본 UIViewController 사이에 "보유"또는 "컨테이너"보기 보기와는 다음과 같습니다 있도록 실제 대상보기 :

    • 의 UIViewController
      • 보기 (의 UIViewController의 기본보기)
        • "용기"보기 < - 신청은 여기로 전환
          • 전환 중보기

    컨테이너보기로 전환을 적용하고 당신이 원하는 경우, 클립 할 수 있습니다. 그래도 범위를 벗어나면 클립을 켜거나 포함 된 뷰의 경계 또는 레이어의 masksToBounds 속성을

+0

두 계정에서 수정 : 전환을 적용 할 'UIView'는 'clipsToBounds'를 사용하여 슈퍼 뷰에서 클리핑해야합니다. – SwiftArchitect

관련 문제