2016-07-28 19 views
10

Ich präsentiere eine modale Ansicht und Action-Blatt von Master-Panel von UISplitViewController. iOS 9.3Ansicht von Master-Panel von UISplitViewController nicht rotiert, wenn von Hochformat auf Querformat gedreht (iPad)

1) Wenn ich die Ansicht vor, wenn das iPad im Portrait-Modus ist und die IPAD Landschaft zu drehen, dann wird der Bildschirm nicht dreht. enter image description here
2) Aber wenn ich die Ansicht präsentiere, wenn das iPad im Querformat ist und das iPad auf Hochformat rotiere, dann dreht sich der Bildschirm.

Wie kann ich die Rotation erreichen?

Antwort

1

Es gibt zwei Lösungen das Problem zu beheben:

  1. 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 
    
  2. 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.