iOS 10 Nachrichten Erweiterung - Falsches Layout bei der Verwendung von Storyboard Segue

8

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

  • kompakt:
    • top: sollte: 0 sein, ist aber: 20
    • bottom: sollte sein: 44 aber ist: 0
  • erweitert:
    • top: sollte sein: 86 aber ist: 20
    • bottom: sollte sein: 44 aber ist: 0


P.S. Kann jemand ein neues "Nachrichten-Erweiterung" -Tag erstellen?

    
123FLO321 26.07.2016, 14:44
quelle

3 Antworten

1

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.

    
Zig 09.11.2016 17:25
quelle
0

in meiner App, Viewcontroller im Modus .expand eingestellt:

%Vor%

im .compact-Modus auf false setzen

%Vor%

sollte es funktionieren.

    
hunght 10.12.2016 02:19
quelle
0

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%     
R-J 14.03.2017 17:27
quelle