2010-12-23 7 views
0

저는 UISplitViewController가 있으며 다소 비 전통적으로 사용하고 있습니다. 내 세부 사항보기, dView에는 내 마스터보기, mView에 대한 참조가 있습니다.iPad - UISplitViewController - 자유로운 UIViewController 사용

방향이 바뀔 때마다 실행되는 코드가 약간 있습니다. 세로 모드에있을 때 mView.view을 서브 뷰로 설정하면 dView입니다. 그리고 그것이 풍경 모드에있을 때, 나는하지 않습니다.

가로 모드에서 시작하면 괜찮습니다. 입니다. 내가 거기서 시작하면, 원하는만큼 여러 번 회전 할 수 있고, 예상대로 모든 것을 수행합니다. 하지만 세로 모드에서 시작하면 mView이 전혀 표시되지 않습니다 (가로 모드를 통해 회전 할 때까지).

이 참조 번호는 IB를 통해 설정됩니다. 나는 그것이 참조를 설정하는만큼 좋은 장소라고 생각했다. 하지만 UISplitViewDelegate 메서드를 사용하여 설정하려고 시도했지만 전혀 작동하지 않았습니다 (가로 모드에서도 시작하지 않음).

아이디어가 있으십니까?

답변

0

표시되지 않기 때문에 세로보기로 시작할 때 마스터보기가 인스턴스화되지 않습니다. 당신은 간단한 NSLog()와이를 테스트 할 수 있고 당신은 는 (널), 당신은 뷰 컨트롤러를 할당하기 직전에 있다고 볼 수 있습니다 : 당신은 또한 세로에 표시 할 마스터 뷰가 필요한 경우

... 
NSLog(@"master: %@", mView); 
dView.masterReference = mView; 
... 

, 당신이 만들 수 있습니다 자신의 SplitViewController 대신 UISplitViewController를 사용하고 "abusing"하십시오. ;)

관련 문제