2011-01-04 2 views
0

나는 PresentModalViewController를 많이 사용 해본 적이 있으며 전혀 문제가 없었습니다. 그러나 UISplitViewController가 호스팅하는 컨트롤러 내에서 모달 컨트롤러를 표시 할 때 이상한 방향 오류가 발생합니다. 내 테이블보기에서PresentModalViewController 내에서 UISplitViewController : 가로 모드에서 이상한 동작

는 셀을 터치하면 내가 전화를합니다 (UISplitView의 루트 컨트롤러 인) : 아이 패드는 세로 인 경우

MyController oModal = new MyController(); 
oModal.ModalPresentationStyle = UIModalPresentationStyle.FormSheet; 
oModal.ModalTransitionStyle = UIModalTransitionStyle.CrossDissolve; 
this.PresentModalViewControll(oModal, true); 

, 모두 괜찮습니다. 그러나 풍경에있는 경우 모달 컨트롤러가 페이드 인하지만 방향이 잘못되었습니다. 그런 다음 페이드 인이 끝나면 이 갑자기 90 °를 뒤집어으로 바뀌고 올바른 방향으로 조정됩니다. ShouldAutoRotateToInterfaceOrientation()을 재정의 했으므로 그렇게 할 수 없습니다.

아이디어가 있으십니까?

René

답변

0

나는 이것에 부딪 쳤고 실제 해결책이 아닌 회피 방법을 가지고 있습니다. 문제는 ("this"코드에서) 모달 컨트롤러를 표시하는 UIViewController가 propertyOrientation 속성에 잘못된 방향으로 응답하고 있다는 것입니다. 그것은 나에게 일어 났고 나는 정말로 이유를 모른다. 해결 방법은 다음과 같이 ("이") 귀하의 UIViewController에서 속성에 대한 사용자 정의 게터를 추가하는 것입니다

-(UIDeviceOrientation)interfaceOrientation 
{ 
    return [[UIDevice currentDevice] orientation]; 
} 

내가 this post에서 아이디어를 얻었다. View Controller가 View Controller 계층 구조에 제대로 임베드되지 않았지만 그 방법을 알아 내지 못했다는 것이 문제라고 생각합니다. 희망이 도움이됩니다.

+0

그러나 분할 컨트롤러가 호스팅하는 세부 컨트롤러에서 표시하더라도 올바르지 않습니다. 그것이 내가 얻지 못하는 것입니다. 내 말은, 세부 컨트롤러가 제대로 회전하는 이유는 무엇입니까? – Krumelur

관련 문제