Модальный UIViewController всегда выходит в полноэкранном режиме на iPad. ЗАЧЕМ? - PullRequest
3 голосов
/ 12 января 2011

Я пытаюсь создать простой модальный диалог на iPad, либо в маленьком (UIModalPresentationFormSheet), либо в большем (UIModalPresentationPageSheet) настройках, но они отображаются в полноэкранном режиме (со строкой заголовка) независимо от того, что я делаю.

Модальный UIViewController был создан в конструкторе интерфейсов, где я не могу указать его размер.Задание меньшего размера для UIView, содержащегося в UIViewController, не имеет никакого эффекта.

Что я делаю не так?Что может повлиять на эту проблему?Может быть, это время, в которое я устанавливаю modalPresentationStyle?Я пробовал как с использованием UINavigationController, так и без него, но получаю одинаковый результат.

Ответы [ 2 ]

5 голосов
/ 12 января 2011

Вы должны установить modalPresentationStyle в родительском 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]
3 голосов
/ 12 января 2011

Я понял это.Оказывается, я использовал UIModalPresentationPageSheet, который всегда переходит на полный экран в портретном режиме .Поскольку мой модальный UIViewController не отвечал на shouldAutorotateToInterfaceOrientation, он заставлял книжную ориентацию, поэтому я ДУМАЛ, что модальное всплывающее окно не работает.ДА, теперь я вижу, что в альбомном режиме я получаю большое всплывающее окно, которое покрывает большую часть (но не все) экрана, что я и ожидал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...