2016-07-28 3 views
10

Я представляю модальный вид и лист действий с мастер-панели UISplitViewController.Просмотреть представленный на главной панели UISplitViewController, не вращаясь при повороте с портрета на пейзаж (iPad)

1) Если я представляю представление, когда iPad находится в портретном режиме и поворачивает iPad на пейзаж, экран не вращается. enter image description here
2) Но если я представляю представление, когда iPad находится в ландшафтном режиме и поворачивает iPad на портрет, тогда экран вращается.

Как добиться вращения?

ответ

1

Есть два решения для решения вопроса:

  1. Это не идеально, чтобы представить модальный вид из главной панели, но вы должны делать это с самим UISplitViewController.

    splitViewController.preferredDisplayMode =UISplitViewControllerDisplayModeAllVisible; // For displaying the master panel always as is in the screen shot in the Question 
    modalViewController.modalPresentationStyle = UIModalPresentationFormSheet; // For displaying the modalViewController in form sheet style 
    [splitViewController presentViewController:modalViewController animated:TRUE completion:nil]; // Note: modalViewController is presented from UISplitViewController and not from master panel of split view 
    
  2. Мастера панель разлитого зрения представлен в пироге, когда в портретном режиме, чтобы изменения вращения устройства должны пройти через popovercontroller. Я догадываюсь, что в этих точках разрыв цепи. Таким образом, чтобы решить эту проблему позвонить

    [spliVC setPreferredDisplayMode:UISplitViewControllerDisplayModePrimaryHidden]; 
    

перед модальное представление переход называется (от prepareForSegue). Я не уверен, работают ли делегаты с таким подходом.

EDIT: Я также заметил, что если Разделить находится в режиме UISplitViewControllerDisplayModeAllVisible тогда даже представления модальный от VC главной панели (позволяет говорить простым модальной Segue в раскадровке) не дает вопрос ротации. Я подтвердил это в симуляторе iOS 9.3.

Смежные вопросы