вопрос.

предоставляет разделенный вид только для пейзажа, но не для портретного режима. Есть ли способ добиться разделения изображения в портретном режиме?

[splitViewController setHidesMasterViewInPortrait:NO];

Это будет работать Но этот API не документирован (частный).

Спасибо,
Manjunath

Ответы на вопрос(6)

Решение Вопроса

Перейти к вашейdetailViewController, ТвойdetailViewController должен иметьUISplitViewControllerDelegate, И просто вставьте этот код в:

- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation{
    return NO;
}

Это сделает свое дело. И это публичный API.

 Jordan H31 июл. 2014 г., 21:37
Это не рекомендуется в iOS 8.

обновление в 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 на основе предпочитаемого режима отображения, если на нем достаточно места. в противном случае он будет выбирать режим отображения, чтобы соответствовать содержанию право. Я использовал его, и он определяет, как я хочу, как в портретной, так и в альбомной ориентации

Мэтта и безуспешно пытаясь создать категорию, я понял, что единственный способ сделать это (так, чтобы Apple не отклоняла ваше приложение) - это использовать два пользовательских представления. обращатьсяэто вопрос.

 SAHM18 окт. 2011 г., 08:08
Ссылка больше не активна. Я хотел бы увидеть это.
 Mustafa18 окт. 2011 г., 09:36

До байта ответ байт верен. Начиная с iOS 8, вы должны использоватьpreferredDisplayMode

Например, чтобы показать оба контроллера представления в портретном режиме, выполните следующие действия:

self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;

Надеюсь это поможет!

 fellowworldcitizen17 нояб. 2014 г., 12:12
Я создал подкласс UISplitViewController и прикрепил его к splitview в раскадровке, а в viewdidload поместил self.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;

MGSplitViewController.

Это настраиваемый контроллер разделенного представления с различными полезными улучшениями. Конечно, вы можете показать основной вид в портретной.

Ваш ответ на вопрос