2011-02-03 7 views
4

사용자가 장치를 가로 방향으로 회전 할 때 내 ViewController 중 하나의 대체보기가 필요합니다 (iPod의 CoverFlow 생각) 대체보기 샘플 코드를 사용하여 구현했습니다. (장치 회전 알림 수신).iPhone 회전보기 모드 가로보기

그러나 버그를 발견했습니다. TabViewController/UINavigationController라는 다소 복잡한 UI가 있습니다. 하나의 ViewController에서 AlternateViews 코드를 사용하고 AlternateView 코드가있는 다른 탭으로 전환하면 알림이 경쟁하는 것 같습니다. 즉, AlternateView이 표시되지만 첫 번째 탭의보기 컨트롤러는 두 번째가 아닙니다. 내 탐색 계층 구조에서 하나의 AlternateView 만 존재하면 괜찮습니다.

결국 가로 모드에서는 완전히 별도의 ViewController가 필요하지 않습니다. 사실, 이것은 실제로 동일한 탐색 모음과 IBActions을 갖기 위해 실제로 복잡하게 만듭니다. 필요한 것은 장치 회전 (UIWebView로드되지 않은 경우) 및 현재보기 (UITableView) 숨기기 UIWebView에서로드 할 수 있습니다. 위의 버그가 완화됩니다.

UIWebView 및 UITableView를 만들거나 표시하거나 숨길 코드를 설정할 수 있습니다. 그러나 정확히 어디서 언제해야하는지 모르겠습니다. - willAutoRotateToOrientation? 델리게이트 메서드와 푸세도 코드에 대한 모든 참조는 크게 감사하겠습니다. 누군가가 내 UI 계층 주어진 AlternateViews 샘플 코드에 대한 수정을 가지고 있다면 물론

, 나뿐만 아니라 것을 감사하겠습니다.

답변

2

내가 -didAnimateFirstHalfOfRotationToInterfaceOrientation로 의견을 교환합니다 코드 두는 것이 좋습니다 :

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

그런 식으로, 기존의보기는 눈에 띄게 다음 새보기에 교체됩니다, 회전하기 시작하고 회전을 완료 .

+1

포스터에서 설명한 것과 똑같이 구현했습니다. 그것은 정말 잘 작동합니다. – MystikSpiral

관련 문제