Из того, что я понимаю, вы хотите видеть мастера на видном портрете.
Дизайн UISplitViewController специально скрывает главный вид в портретном режиме.
Здесь есть два способа решить эту проблему. Прежде всего, вы объявляете свой контроллер ViewController как UISplitViewControllerDelegate. (который рассматривает контроллер как делегат, тот, который остается в стеке, - для того, чтобы выяснить, является ли это мастером или деталью).
Затем у вас есть несколько методов делегатов, чтобы взглянуть на них.
Если вы хотите прямо просто показать мастер в портретном режиме в следующий метод делегата:
- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
вы возвращаетесь NO (ака вы не хотите, чтобы скрыть контроллер представления)
По умолчанию это не для пейзажа, поэтому вы видите оба представления и да для портрета, поэтому вы не видите мастера.
Сказать, что более элегантным решением, вероятно, было бы скрыть главный вид, а затем положить кнопку в верхней части панели навигации, после нажатия на которой вам будет показан мастер в режиме portait. И, щелкнув внешний вид мастера, мастер будет скрыт.
Чтобы сделать это, вы не используете вышеупомянутый метод BOOL, но реализовать эти две другие методы делегата вместо:
– splitViewController:willHideViewController:withBarButtonItem:forPopoverController:
– splitViewController:willShowViewController:invalidatingBarButtonItem:
Поиск документации по UISplitViewControllerDelegate.