Ho implementato la sottoclasse di UISplitViewController
nella mia app per entrambi: iPhone
e iPad
. Il metodo menzionato nel titolo viene chiamato quando ruoto il dispositivo dall'orientamento Landscape
a Portrait
. Funziona davvero bene se non eseguo l'app su iPhone 6 Plus. Perché questo metodo non è chiamato lì?Perché splitViewController: collapseSecondaryViewController: ontoPrimaryViewController: non viene chiamato su iPhone 6 Plus?
Cosa fare per far funzionare questo metodo?
Quando avvio l'app su iPhone 6 Plus
, tutto va bene in entrambi gli orientamenti. Ma il problema è quando ruoto iPhone 6 Plus
da Landscape
a Portrait
. Il mio controller di navigazione non funzionerà come previsto.
Questo è ciò che intendo:
iPhone 5s Ritratto
iPhone 5s Ritratto quando seleziono posizione
iPhone 5s Paesaggio con selezionato Lo cazione
5s iPhone quando ho ruotare da orizzontale a verticale
iPhone 6 Plus Ritratto
iPhone 6 Plus Ritratto quando seleziono posizione
iPhone 6 Paesaggio Plus con posizione selezionata
iPhone 6 Plus quando ho ruotare da orizzontale a verticalethis is a problem
perché il mio metodo splitViewController:collapseSecondaryViewController:ontoPrimaryViewController:
non è chiamato. UINavigationController
in quel momento non funziona. Quando seleziono la posizione non succede nulla.
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
}
}
ho installato il mio SplitViewController in Storyboard.
ho cercato di forzare splitViewController chiamare questo metodo, ma non ha aiutato –