2010-05-03 5 views
12

UIModalPresentationFullScreen을 사용하여 UIModalTransitionStylePartialCurl로 설정된 TransitionStyle을 사용하여 표시되는 모달 뷰 컨트롤러가 있습니다. 이것은 아름답게 작동합니다.UIModalTransitionStylePartialCurl이 회전하지 않습니다.

내 문제는 장치를 회전 할 때 의도 한대로 내보기가 회전하지만 "컬"효과가 적용되지 않는다는 것입니다. 누구나 이것이 의도적으로 설계된 것인지 알고 있습니까? 아니면 수행해야 할 다른 것이 있습니까? 감사.

답변

3

내 경험에 의하면 UIModalTransitionStylePartialCurl 스타일은 두보기 컨트롤러가 일반 규칙에 의해 재생되지 않는 세미 림보 상태에 관련되도록합니다. 이것의 또 다른 예는 부분적인 컬 모달 표현은 뷰 계층 구조의 승차감을 존중하지 않는 것입니다. 즉, 모달 뷰를 겹쳐 놓았을 때 모달 높이를 스택 위로 표시하면 부분을 차지하게되지만 곱슬 곱슬하게 막는다.

예컨대 보기 1 ->보기 2 ->보기 3 보기 1로보기 모달 표시 4 보기 1 ->보기 4 보기 3이 부분 컬로 표시되면 요청할 때 아무 것도 나타나지 않습니다 보기의 디스플레이 4.

또한 부분적으로 말하면 다른 뷰를 모달로 표시 할 수 없습니다 (공식 문서에서는 이것이 본질적으로 일반적인 모달 디스플레이처럼 동작하지 않는다는 것을 의미합니다) 예 보기 1 - 모달 표시 뷰> 뷰 2 (부분 컬) TELL보기 2 3 아무것도

이 IMO 사과 완전히 환상적이기 때문에 수치이다 UIModalTransitionStylePartialCurl 스타일 구운하지 않은 일이 없습니다. 길게 짧게, 위아래로 뒤집기 이외의 것을 요구했을 때 예상대로 작동하지 않으므로 문제를 사용하기를 기대합니다.

0

제시하고있는 ViewController가 shouldAutorotateToInterfaceOrientation : 구현되어 있고 원하는 값을 반환하는지 확인하십시오.

+0

예,보기가 잘 돌아갑니다. 회전하지 않는 컬 효과입니다. – Mongo

+1

이제 알겠습니다. 위쪽으로 구부러진 상위 뷰는 이전과 동일한 방향으로 유지되고 장치가 방향을 변경하면 모달 뷰만 회전합니다. 나는 현재 활성화되어 있지 않으므로 부모보기를 '수동으로'회전해야한다고 생각합니다. – chaos0815

2

이 문제가 발생했을 때, 문제를 피할 수 있도록 모달로 표시된보기가 deviceDidRotateSelector에서 자동으로 해제되는 것이 좋다고 결정했습니다.

+0

이것은 실제로 좋은 해결책이기도합니다. 공유해 주셔서 감사합니다. – Mongo

관련 문제