Es gibt zwei Lösungen das Problem zu beheben:
Es ist nicht ideal modale Ansichten von Master-Panel zu präsentieren, aber Sie sollten es von der UISplitViewController selbst tun.
splitViewController.preferredDisplayMode =UISplitViewControllerDisplayModeAllVisible; // For displaying the master panel always as is in the screen shot in the Question
modalViewController.modalPresentationStyle = UIModalPresentationFormSheet; // For displaying the modalViewController in form sheet style
[splitViewController presentViewController:modalViewController animated:TRUE completion:nil]; // Note: modalViewController is presented from UISplitViewController and not from master panel of split view
Master Panel von freigesetztem Ansicht wird in einer popover präsentiert, wenn im Portrait-Modus, so dass die Vorrichtung durch Rotationsänderungen popovercontroller gehen. Ich vermute, die Kette bricht an diesen Stellen. Also, um zu beheben, um die Ausgabe Aufruf
[spliVC setPreferredDisplayMode:UISplitViewControllerDisplayModePrimaryHidden];
vor der modalen Präsentation segue genannt wird (von prepareForSegue
). Ich bin mir nicht sicher, ob Delegierte mit diesem Ansatz arbeiten.
EDIT: ich auch, dass beobachtet haben, wenn die geteilte Ansicht in UISplitViewControllerDisplayModeAllVisible
Modus ist dann auch modal vc von Master-Panel präsentiert (lets durch einen einfachen modalen segue in Storyboard sagt) nicht der Rotation Problem geben. Ich habe dies in iOS 9.3 Simulator bestätigt.