Как я могу перейти от пользовательского контроллера представления к модальному во время изменения класса размера?

У меня есть контроллер представления, который я хочу представить модально, если класс горизонтального размера компактен, а в противном случае с настраиваемым делегатом перехода, например так:

if traitCollection.horizontalSizeClass == .Compact {
    settingsViewController.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Done, target: self, action: "dismissSettings")
} else {
    navigationController.transitioningDelegate = drawerTransitioningDelegate
    navigationController.modalPresentationStyle = .Custom
}
presentViewController(navigationController, animated: true, completion: nil)

Я хочу сделать что-то похожее на то, что Apple делает с формами на iPhone 6 Plus. В альбомной ориентации представление представляет собой лист формы с затемненным фоном, а в портретной — полноэкранный модальный контроллер представления. Что еще более важно, он красиво переходит при вращении устройства. Как настроить представление и презентацию одинаково?


person Eddie K    schedule 25.08.2015    source источник


Ответы (1)


См. адаптивныйPresentationStyleForPresentationController

person malhal    schedule 14.04.2016