2011-08-03 3 views
2

설정 앱과 마찬가지로 두 개의 세로 테이블보기를 나란히 배치하려면 분할보기 컨트롤러에서 전환하고 있습니다. 이 그냥 정상적으로 세로에 표시 할 모든 것을 얻을 작품 큰UIWindow 서브 뷰가 자동 회전하지 않습니다

rootViewController.view.frame = CGRectMake(0, 20, 270, 1004); 
[window addSubview:rootViewController.view]; 

detailViewController.view.frame = CGRectMake(270,20, 498, 1004); 
[window addSubview:detailViewController.view]; 

[window makeKeyAndVisible]; 

: 내 아이 패드 AppDelegate에 나는 다음과 같은 코드를 작성합니다. 그러나 장치를 회전 시키면 rootViewController가 회전하고 디테일 뷰 컨트롤러는 회전하지 않습니다. 내 컨트롤러 모두에서 나는 내가 뭘 잘못

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return YES; }

을 구현 무엇입니까?

답변

2

이것은 예상되는 동작입니다. UIWindow의 "첫 번째"보기 만 회전을 관리합니다. 자세한 내용은 Technical Q&A QA1688을 참조하십시오.

UISplitViewController를 사용하지 않을 경우 루트 및 세부보기 컨트롤러를 제거하고 부모 UIViewController에서 뷰를 관리하는 것이 가장 좋은 방법입니다.

그리고 원하지 않는다면 최상위 UIViewController 내에서 rootViewController.viewdetailViewController.view을 하위보기로 추가 할 수 있지만 모든 유언/표시/숨기기를 관리해야하며 rotation 메서드는 하위 컨트롤러를 직접 호출하며 하위 컨트롤러의 이 최상위 컨트롤러가 아닌 nil이 될 것이므로 몇 가지 문제가 발생합니다.

+0

내 세부 정보와 루트 컨트롤러의보기를 모두 포함하도록 최상위보기를 만들 수있었습니다. 가장 일반적으로 나는 모든 것을 하나의 컨트롤러로 밀어 넣는 재 작성을 할 것이지만, 이미이 두 컨트롤러를 설치하기 위해 많은 시간이 소요되었습니다. 이상적이지는 않지만 지금은 모두 작동합니다. – alexcash

+0

정말 고마워요. – alexcash

관련 문제