Warum bewegt sich der Top-Layout-Guide in meiner iMessage-Erweiterung?

8

Ich habe eine iMessage-Erweiterung und ich habe einige Probleme mit der Top-Layout-Anleitung. Ich habe eine MSMessagesAppViewController , die Änderungen zwischen Präsentationsarten behandelt. In meiner Erweiterung habe ich einen Knopf. Wenn Sie darauf klicken, gehe ich zum erweiterten Präsentationsstil über und präsentiere dann einen View-Controller modal. Hier ist das Problem: Meine Benutzeroberfläche in der zweiten VC wird hinter der oberen Navigationsleiste versteckt. Ich dachte, das wäre seltsam, da ich meine Einschränkungen auf die Top-Layout-Anleitung gesetzt habe. Also habe ich meinen Code durchforstet und mit dem Debuggen des Top-Layout-Leitfadens begonnen. Ich habe bemerkt, dass ich nach dem Übergang zum erweiterten Präsentationsstil topLayoutGuide.length = 86 habe. So sollte es sein. Aber wenn ich den zweiten View-Controller modal präsentiere, wird der Top-Layout-Guide auf 0 zurückgesetzt. Warum ist es nicht 86, wie es sein sollte? Hier ist mein Code:

In meiner HauptansichtController:

%Vor%

In dem anderen modal präsentierten View Controller:

%Vor%     
A Tyshka 22.08.2016, 00:38
quelle

3 Antworten

7

Als Workaround verwende ich UIPresentationController , was den modalen View-Controller um topLayoutGuide.length points verschiebt:

%Vor%

Das einzige Problem ist, wenn Sie presentModalViewController aus dem Kompaktmodus aufrufen, topLayoutGuide.length ist 172.0 aus unbekanntem Grund. Also musste ich einen Wert für diesen Fall fest codieren.

    
Andrey Gordeev 31.08.2016 12:40
quelle
1

Ich glaube, das war ein bekannter Bug auf der vorherigen iOS 10 Beta. Ich hatte das gleiche Problem und der obere und untere Layout-Leitfaden funktioniert wie erwartet, nachdem ich die iOS-Version auf den neuesten Stand gebracht habe.

    
REALFREE 26.08.2016 03:07
quelle
0

Ich habe eine leicht abgewandelte Version von Andreys

verwendet %Vor%

modalBoundaries ist eine Dummy-UIView-Einschränkung (über XIB in meinem Fall), um eine beliebige TopLayoutGuide-Länge einzuhalten.

    
Brian Semiglia 05.07.2017 22:08
quelle

Tags und Links