Ich mache die folgende View-Controller (VC) Struktur.UIPageViewController auf UINavigationController relayout seine Kind Viewcontroller seit der Änderung der Orientierung
[UINavigationViewController] -> [UIPageViewController] -> [UIViewControllers]
dann, diese VC sollte Hoch- und Querformat unterstützen.
Ein Problem, das ich habe, wird bei der Änderung der Ausrichtung zu jeder Seite ausgelöst.
können Sie das Problem sehen.
roten Bereich ist Hintergrundfarbe des Kindes VC auf UIPageViewController.
blauer Bereich ist Hintergrundfarbe von UIPageViewController.
Ich denke, Kind VC wurde nicht von UIPageViewController relayouted. Ich habe es lange herausgefunden. Ich fand schließlich eine Arbeit um die folgende überschriebene Funktion zu benutzerdefinierten UIPageViewController hinzuzufügen.
Obwohl das Verschieben einer Ansicht nach unten angezeigt wird, sobald die Drehung abgeschlossen ist. Dieser Code löst das Problem grob.
sowieso, Ich möchte wirklich jede nette und natürliche Lösungen kennen.
UPDATE
Meine App auch auf iOS6 funktioniert. Es könnte iOS7 Bug sein?
Sie haben 2 verschiedene xib für unterschiedliche Orientierung gemacht? –
Ich stieß auf Layoutprobleme, wenn ich einen Seitenaufruf-Controller außerhalb eines übergeordneten Ansichtscontrollers verwendete (wie Sie es gerade tun). Diese Probleme sind verschwunden, als ich den Page View-Controller einem übergeordneten View-Controller hinzugefügt habe. Ich habe den Standardcode aus Apples seitenbasierter Xcode-Anwendungsvorlage verwendet. – bilobatum
@MirkoCatalano Nein. Benutzerdefinierte UIPageViewController wird programmgesteuert erstellt, aber UINavigationController ist rootViewController der App. Ich verwende ein Storyboard zum Erstellen von UI. Der Grund, warum ich kein Storyboard für UIPageViewController verwendet habe, ist die Interaktion mit einer Schaltfläche, die sich in einer benutzerdefinierten UITableViewCell befindet. Ich habe kein Storyboard verwendet, um die Schaltfläche zu erstellen, da die Schaltfläche zur Laufzeit dynamisch erstellt wird. –