Zaimplementowałem podklasę UISplitViewController
w mojej aplikacji dla obu: iPhone
i iPad
. Metoda wymieniona w tytule jest wywoływana, gdy obracam urządzenie z orientacji Landscape
do Portrait
. Działa naprawdę fajnie, chyba że uruchomię aplikację na iPhone 6 Plus. Dlaczego ta metoda nie jest tam nazywana?Dlaczego splitViewController: collapseSecondaryViewController: onPrimaryViewController: nie jest wywoływana na iPhone 6 Plus?
Co zrobić, aby ta metoda zadziałała?
Po uruchomieniu aplikacji na iPhone 6 Plus
wszystko jest w porządku w obu orientacjach. Problem polega jednak na tym, że obracam iPhone 6 Plus
z Landscape
do Portrait
. Mój kontroler nawigacyjny nie będzie działać tak, jak się oczekuje.
To, co mam na myśli:
iPhone 5s Portret
iPhone 5S portret kiedy Wybierz lokalizację
iPhone 5s Krajobraz z wybranymi lo kation
iPhone 5s kiedy obracają się z poziomego na pionowy
iPhone 6 Plus Portret
iPhone 6 Plus Portret kiedy Wybierz lokalizację
iPhone 6 Plus Krajobraz z wybranej lokalizacji
iPhone 6 Plus, kiedy obraca się z poziomego na pionowythis is a problem
ponieważ moja metoda splitViewController:collapseSecondaryViewController:ontoPrimaryViewController:
nie jest wywoływany. UINavigationController
w tym czasie nie działa. Kiedy wybieram lokalizację nic się nie dzieje.
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
}
}
mogę skonfigurować mój SplitViewController w serii ujęć.
próbowałem zmusić splitViewController wywołać tę metodę, ale to nie pomogło –