#iphone
#iPhone
Вопрос:
Как заставить ViewController отображаться не на весь экран на iPad, как показано на рисунке ниже
Приветствуются любые комментарии
Комментарии:
1. Можете ли вы показать какой-нибудь код..
Ответ №1:
Используйте modalPresentationStyle
свойство UIViewController наряду со стандартным presentModalViewController:animated:
. На вашем скриншоте используется UIModalPresentationFormSheet. Существует также UIModalPresentationPageSheet, который отображает полноэкранный режим в портретном режиме, но оставляет границы с обеих сторон в альбомной ориентации.
Ответ №2:
Изображение, которое вы показываете, является типом модального представления. Вы бы отображали его с помощью чего-то вроде:
myViewController.modalPresentationStyle = UIModalPresentationFormSheet;
[myViewController presentModalViewController: myModalViewController animated:YES];
Смотрите документацию по UIViewController для получения дополнительной информации о модальных представлениях.
Ответ №3:
Мы можем представить modalViewController четырьмя различными способами.т.е. 1. UIModalPresentationFullScreen 2. UIModalPresentationPageSheet 3. UIModalPresentationFormSheet 4. UIModalPresentationCurrentContext.
Теперь вы используете третий..
если вы не хотите использовать эти вещи, просто используйте следующий код..
[self presentModalViewController Animated:YES];
Ответ №4:
Из скриншота я понимаю, что вы делаете что-то вроде этого:
UIViewController* newController = LoadTheController();
newController.modalPresentationStyle = UIModalPresentationFormSheet;
[currentViewController presentModalViewController:vc animated:YES];
Но ваш вопрос относится к методу «pushViewController», который связан с объектами UINavigationController, и на заднем плане скриншота действительно есть навигационный контроллер. Вы могли бы попробовать изучить что-то вроде этого:
[currentViewController.navigationController pushViewController:vc animated:YES];