2015-08-05 5 views
6

Porträt nur View-Controller präsentiert über Ich habe eine Navigationssteuerung einen View-Controller hält, die nur das Hochformat unterstützt:Statusleiste versteckt, wenn Landschafts nur View-Controller ist

enter image description here

Dies stellt einen Full- Bildschirm-view-Controller, die unterstützt nur Landschaft: auf dem präsentierenden view-Controller in der Statusleiste während des Übergangs

enter image description here

Leider wird entfernt, wodurch der Inhalt vor Beginn des Übergangs hochgezogen wird. Ich habe einen benutzerdefinierten Fade Übergang implementiert, um den Effekt zu machen klar:

enter image description here

Beachten Sie, dass die Statusleiste nicht vorhanden ist. Dies geschieht vor der benutzerdefinierte Übergang startet, ohne Animation, also selbst wenn ich einen Snapshot vor dem Beginn der Transition und fügen Sie es in der Containeransicht, sehen Sie immer noch die reduzierte Navigationsleiste vorübergehend.

Gibt es eine nicht schreckliche Möglichkeit, dies zu beheben? Ich möchte den Schnappschuss nicht außerhalb des Übergangs hinzufügen müssen (wie this answer).

Ich habe versucht, den Präsentationsstil benutzerdefiniert anstelle von Vollbild zu machen, aber dies lässt das Gerät nicht im Hochformat. Eine Lösung, die einen benutzerdefinierten Präsentationsstil verwendet, der das Gerät in der Querformatausrichtung belässt, wäre ebenfalls akzeptabel.

Es ist ein Beispielprojekt demonstriert das Problem here

+1

Hey! Hast du eine wertvolle Lösung dafür gefunden? Vielen Dank. –

+0

Gleiches Problem hier. Irgendwelche guten Lösungen bis jetzt? –

Antwort

0

ein Hack zu schrecklich sein, aber wenn es die Ansicht Rucken, die anstatt der Statusleiste Verschwinden stört selbst könnte man die Einschränkungen ändern, so dass die obere isn‘ t beschränkt auf die Top-Layout-Guide, sondern auf den Superview-Top mit einer geeigneten Konstante?

+0

Würde die Navigationsleiste nicht immer die Größe ändern? – jrturton

+0

Wahrscheinlich, aber ich dachte, es könnte nicht so störend sein. Ich bin nicht so glücklich mit der Antwort, könnte es entfernen. –

+0

Du hast mich inspiriert, also danke. Ich denke, ich könnte eine Lösung haben, aber es ist ein bisschen schrecklich – jrturton

0

Ich vermisse etwas, aber versteckt die Bar kurz vor dem Übergang besser aussehen?

self.navigationController? NavigationBarHidden = in prepareForSegue wahr und schalten Sie ihn wieder in viewWillAppear

+0

Ich möchte die präsentierende Ansicht Controller gleich aussehen. – jrturton

Verwandte Themen