IOS4 UISplitViewController в книжной ориентации с RootViewController, отображаемым как альбомная ориентация

В IOS 3.2 я смог отобразить свой UISplitViewController рядом, как в ландшафтном режиме.

В IOS 4.2 RootViewController (MasterView) не отображается в портретном режиме. Кто-нибудь знает, нужно ли нам отображать rootviewcontroll во всплывающем окне? Можем ли мы отобразить его рядом, как в ландшафтном режиме?

Я хочу избежать необходимости нажимать кнопку, чтобы показать основной вид (в портретном режиме)


person Arcadian    schedule 19.12.2010    source источник


Ответы (3)


В этом случае вы можете пропустить splitviewcontroller и создать только базовое приложение представления, в котором вы можете вручную управлять пользовательским интерфейсом.

person Mahmud Ahsan    schedule 20.12.2010

  1. на viewDidAppear вы можете сделать

    [splitViewController setHidesMasterViewInPortrait: НЕТ];

Это работает, даже если вы получаете предупреждение. Я думаю, вы можете создать категорию с настраиваемым контроллером splitview, чтобы избавиться от предупреждения.

2. В противном случае вы можете сделать что-то вроде

в представленииWillAppear вы можете сделать что-то вроде

if (self.interfaceOrientation == UIInterfaceOrientationPortrait || self.interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
    UIViewController *master = [[splitViewController.viewControllers objectAtIndex:0];
    UIViewController *detail = [[splitViewController.viewControllers objectAtIndex:1];
    [splitViewController setupPortraitMode:master detail:detail];

}

(setupPortraitMode) http://intensedebate.com/profiles/fgrios.

person surajz    schedule 12.01.2011
comment
Похоже, что setHidesMasterViewInPortrait — это приватный метод. Пожалуйста, дайте мне знать, так ли это? - person UPT; 20.03.2012

Я использовал setHidesMasterViewInPortrait:NO, и он работал в версиях до 5.0 и даже однажды попал в магазин Apple. Но в следующий раз, когда я обновил приложение, они отказались от него, потому что я использовал скрытый API. Я все еще ищу способ сделать эту работу.

person Nancy    schedule 03.08.2012