Я применил подкласс 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 в раскадровке.