Разделить вид в портретном режиме!
Apple предоставляет разделенное представление только для пейзажа, но не для портретного режима. Есть ли способ достичь splitview в портретном режиме?
[splitViewController setHidesMasterViewInPortrait:NO];
Это сработает. Но этот API не документирован (закрыт).
Спасибо,
Манджунат
Ответы
Ответ 1
Для iOS5 +,
Перейдите к detailViewController
. Ваш detailViewController
должен иметь UISplitViewControllerDelegate
. Просто просто отбросьте этот код в:
- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation{
return NO;
}
Это сделает трюк. И это общедоступный API.
Ответ 2
Мой маленький вклад здесь.
Ответ на байт верен до iOS 7. Начиная с iOS 8 вы должны использовать preferredDisplayMode
Например, чтобы показать оба диспетчера представлений в портретном режиме, выполните следующие действия:
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;
Надеюсь, это поможет!
Ответ 3
Взгляните на MGSplitViewController.
Это настраиваемый контроллер разделенного вида с различными полезными улучшениями. Конечно, вы можете показать главный вид в портрете.
Ответ 4
Посмотрите APSplitViewController.
Ответ 5
обновление в iOS 8 xcode 6+
if let splitVCExists = self.splitViewController{
splitVCExists.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible
}
документ:
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UISplitViewController_class/index.html#//apple_ref/occ/instp/UISplitViewController/preferredDisplayMode
Одна вещь, которую я заметил, это то, что она попытается расставить контроллер splitview на основе предпочтительногоDisplayMode, если есть достаточно места. в противном случае он выберет режим отображения, чтобы он соответствовал правильному контенту. Я использовал его, и он выставляет VC, как я хочу как в портретной, так и в альбомной ориентации.
Ответ 6
Когда-то назад я попытался добиться аналогичной вещи. Попробовав код Мэтта и нечаянно пытаясь создать категорию, я понял, что единственный способ сделать это (так, что Apple не отклоняет ваше приложение) - использовать два пользовательских представления. Обратитесь к этому вопросу.