Ich hoffe, das wird nicht immer notwendig sein, aber ich habe am Ende eine Kombination aus einem Constraint-Outlet, einer presentationStyle-Variablen und viewDidLayoutSubviews () verwendet, um diesen Bug / Überblick zu überwinden.
In meinem DetailViewController:
%Vor%Und in meinem MainViewController:
%Vor%Und falls es einen Unterschied macht, präsentiert sich mein Abschnitt modal als Seitenblatt.
Bei der Verwendung von "Segues in Messages Extension Application" wird das Layout durcheinander gebracht.
Gibt es eine Möglichkeit, dieses Problem zu lösen, während storrybord segues weiterhin verwendet wird?
Screenshots:
(Hinweis: Der erste und der zweite View / ViewController sind identisch. Der Segment-Typ spielt keine Rolle)
Erweiterter Präsentationsstil:
Kompakter Präsentationsstil:
Update 1:
Die oberen und unteren Layout-Hilfslinien werden nach einem Abschnitt zurückgesetzt
P.S. Kann jemand ein neues "Nachrichten-Erweiterung" -Tag erstellen?
Eine mögliche Lösung, die ich mit Hilfe von Ссылка
Platzieren Sie in Ihrem Einstiegspunkt-Ansichtscontroller eine Containeransicht mit automatischen Layouteinschränkungen, die den oberen und unteren Rand der Containeransicht an die oberen und unteren Layouthilfslinien anpasst.
Die Containeransicht selbst muss dann alle View-Controller einbetten, auf die Sie wechseln. Auf diese Weise befinden sich Zielansichts-Controller immer in den Grenzen der Containeransicht. Die Containeransicht wird auch durch die oberen und unteren Layouthilfslinien des ursprünglichen Ansichtscontrollers korrekt eingeschränkt.
Eine Möglichkeit, dies zu erreichen: Implementieren Sie ein Protokoll, das Benachrichtigungen für Segmente erhält - etwa:
%Vor%Implementieren Sie eine Unterklasse von UIViewController mit einem Verweis auf SegueDelegate, z. B.
%Vor%Lassen Sie Ihre ersten Meldungen anzeigen Controller das Protokoll implementieren.
%Vor%Der containerViewController muss hier eine Einbettungsmethode implementieren, die den Anzeige-Controller mit dem neuen, z. B.
, vertauscht %Vor%in meiner App, Viewcontroller im Modus .expand eingestellt:
%Vor%im .compact-Modus auf false setzen
%Vor%sollte es funktionieren.