Я реализовал подкласс UISplitViewController
в своем приложении для обоих: iPhone
и iPad
. Метод, упомянутый в заголовке, вызывается, когда я поворачиваю устройство с Landscape
на Portrait
ориентации. Это действительно хорошо работает, если я не запустил приложение на iPhone 6 Plus. Почему этот метод там не вызывается?
Что делать, чтобы этот метод заработал?
Когда я запускаю приложение на iPhone 6 Plus
, все нормально в обеих ориентациях. Но проблема в том, когда я переворачиваю iPhone 6 Plus
с Landscape
на Portrait
. Мой навигационный контроллер не будет работать должным образом.
Это то, что я имею в виду:
Портрет на iPhone 5s
iPhone 5s Портрет при выборе местоположения
iPhone 5s, альбомная ориентация с выбранным местоположением
iPhone 5s при повороте из альбомной ориентации в вертикальную
iPhone 6 Plus, портретная
iPhone 6 Plus, портретная ориентация при выборе местоположения
iPhone 6 Plus, горизонтальная ориентация с выбранным местоположением
iPhone 6 Plus при повороте из горизонтальной в вертикальную this is a problem
, потому что мой метод splitViewController:collapseSecondaryViewController:ontoPrimaryViewController:
не вызывается. UINavigationController
на тот момент не работает. Когда я выбираю место, ничего не происходит.
class PBOSplitViewController: UISplitViewController, UISplitViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible
delegate = self
}
func splitViewController(splitViewController: UISplitViewController, collapseSecondaryViewController secondaryViewController: UIViewController!, ontoPrimaryViewController primaryViewController: UIViewController!) -> Bool {
return false
}
}
Я настраиваю свой SplitViewController в раскадровке.