ipad pushViewController отображается не на весь экран

#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];