2017-09-28 5 views
3

ich eine modale vorstelle und es verwendet, um zu gehen "unter" der Statusleiste vor - iOS 11.Modal Präsentation iOS 11

iOS 10: enter image description here

iOS 11: enter image description here

Ich würde es gerne sehen, wie es in iOS 10

angezeigt wurde Alles, was ich vorher tat, war das folgende:

let vc = ReferralsViewController() 
vc.modalPresentationStyle = .overCurrentContext 
self.present(vc, animated: true, completion: nil) 
+0

Haben Sie versucht, die Statusleisteneinstellungen aus der Datei info.plist anzupassen? StatusleisteStyle? StatusBarAussehen? –

+0

Ich habe das vorher noch nie gemacht, weil ich es nicht brauchte. Es ist nur komisch, dass sich dieses Verhalten zwischen den Versionen ändert. Was würdest du empfehlen, damit sich dies in allen os-Versionen gleich verhält? – daredevil1234

Antwort

2

Ich hatte das gleiche Problem mit Storyboard. In meinem Projekt wurde die Sichtweise nicht länger auf die Superview gerichtet. Es sieht so aus, als ob sie die oberste Einschränkung auf den Typ Superview.Top.Margin anstelle von Superview.Top geändert haben. Obwohl es für mich ein Einzelfall sein könnte.

HINWEIS: Als ich das Drop-Down-Menü hatte, war meine immer noch auf superview eingestellt. Ich wechselte gerade zu einer anderen Option und dann zurück zu . Ich brauche dann von 20 bis 0.

aktualisieren Was crashoverride777 Kommentar den konstanten Wert zu ändern, damit dies mit iPhoneX arbeiten Sie Ihren Blick auf die neuen sicheren Zonen stecken sollte.

Wie Sie sehen können, gibt es oben eine Lücke (der hellere Teil der Ansicht).

enter image description here

Also ging ich auf auf die Einschränkung, dass diese Ansicht auf den oberen Rand des Superview und eingestellt von Superview.Top.Margin zu Superview.Top das zweite Element verbindet.

Schließlich ändern Sie den zweiten Artikel von Superview.Top.Margin zu Superview.Top.

Also erstens die Ansicht klicken, die dann zu Show the size inspector nach oben gemerkt werden soll:

enter image description here

So am Ende es das folgende Beispiel mag sollte:

enter image description here

+0

Obwohl dies nicht die richtige Antwort war, war es ähnlich. Ich musste meine obere Beschränkung ändern, die zu Superview.top war, um eine -20 Konstante zu haben. Ich denke, da ist wahrscheinlich eine Art Marge oder etwas, aber meine vertikale Platzbeschränkung war, wie du deine hast, aber das passierte immer noch.Also bin ich mit dem -20 gelaufen, um es über dieses unsichtbare Randding zu zwingen – daredevil1234

+0

Diese Antwort sollte wirklich aktualisiert werden. Deine Einschränkungen werden auf iPhoneX nicht korrekt funktionieren. Der Grund dafür ist, dass Apple die Top/Bottom-Layout-Anleitung verworfen und durch SafeArea ersetzt hat. Sie sollten Ihre Einschränkungen in den meisten Fällen an die SafeArea und nicht an die Superview anheften. – crashoverride777

1

Der Grund dafür ist, dass Apple die Top/Bottom-Layout-Anleitung verworfen und durch SafeArea ersetzt hat. Sie sollten Ihre Einschränkungen in den meisten Fällen an die SafeArea und nicht an die Superview anheften. Die aktuell akzeptierte Antwort wird höchstwahrscheinlich Probleme auf einem iPhoneX verursachen, da alles an der Superview angeheftet ist anstatt an diesem SafeArea.

+0

Sehr wahr. Ich musste es noch einmal für iPhoneX anpassen – daredevil1234

+0

Cool, dachte nur, ich füge diese Frage hinzu, als ich heute darauf stieß. Glückliche Kodierung. – crashoverride777