2011-01-12 3 views
3

작고 (UIModalPresentationFormSheet) 또는 큰 (UIModalPresentationPageSheet) 설정으로 iPad에서 간단한 모달 대화 상자를 만들려고하고 있지만, 내가하는 일에 상관없이 전체 화면 (제목 표시 줄과 함께)이 나옵니다.모달 UIViewController는 항상 iPad에서 전체 화면으로 나옵니다. 왜?

모달 UIViewController는 인터페이스 빌더에서 만들어 졌으므로 크기를 지정할 수 없습니다. UIViewController에 포함 된 UIView의 크기를 더 작게 지정해도 아무런 효과가 없습니다.

내가 뭘 잘못하고 있니? 이 문제에 어떤 영향을 미칠 수 있습니까? modalPresentationStyle을 설정하는 시점이 될 수 있습니까? 나는 UINavigationController와 without를 사용하여 시도했지만 동일한 결과를 얻고있다.

답변

3

나는 이것을 알아 냈습니다. UIModalPresentationPageSheet를 사용하고 있는데, 항상 인 세로 모드로 전체 화면 으로 이동합니다. 내 모달 UIViewController shouldAutorotateToInterfaceOrientation에 응답하지 않았으므로 세로 방향으로 강제로 모달 팝업이 작동하지 않는 이유는 무엇입니까?

단순히 '예'내 모달 UIViewController에,에 shouldAutorotateToInterfaceOrientation 처리기를 추가함으로써, 지금하는 무엇이다 나는 오전 대부분 커버하는 대형 팝업을 받고 (전부는 아니지만) 화면의 가로 모드에서 것을 볼 I 예상 했어.

5

의 부모 ViewController에서을 호출하기 전에 presentModalViewController:animated으로 설정해야합니다.

myViewController = // create your new controller if needed 
myViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
myViewController.modalPresentationStyle = UIModalPresentationFormSheet; 
// "self" is the parent ViewController 
[self presentModalViewController:myViewController animated:YES] 
+0

전체 계층 구조가 모달이라고 가정합니까? 왜냐하면 내 루트 (상단) UIViewController 정상적인, 모달이 아닌보기입니다 그것을 이해합니다. 내가 presentModalViewController : animated도 함께 표시해야합니까? – ldoogy

+0

아니요, 부모는 모달이 아닌 UIViewController가 될 수 있습니다. – Felix

관련 문제