Aktualisieren Sie Ihre iOS-App, um iOS 7 zu unterstützen

Ich habe kürzlich meine White Noise-App aktualisiert, um das moderne Thema von iOS 7 zu unterstützen. Etwa in der Mitte des Übergangs habe ich mit Interface Builder einen kleinen Trick gelernt, der Ihnen viel Zeit sparen kann, wenn Sie Ihre App auf iOS 7 aktualisieren.

Das erste, was mir beim Kompilieren meiner App für iOS 7 aufgefallen ist, ist, dass alle Ansichten über die Statusleiste nach oben verschoben wurden. Dies liegt daran, dass in iOS 7 die Statusleiste Ihre Ansicht nicht mehr nach unten drückt. Wenn Sie iOS 7 und frühere Versionen des Betriebssystems verwalten möchten, müssen Sie diesen Unterschied berücksichtigen. (Auto Layout könnte auch helfen, ist aber unter iOS 5 nicht verfügbar, weshalb ich es derzeit nicht verwende.)

Öffnen Sie die NIB-Datei, die Sie aktualisieren möchten, und wechseln Sie das Feld Anzeigen als zu iOS 6.1 und früher ( Abbildung A ).

Abbildung A.

Das Layout ist wie zuvor, wobei die Navigationsleiste unter die Statusleiste fällt. Wenn Sie wieder zu Als iOS 7.0 anzeigen wechseln, wird die Navigationsleiste jetzt über der Statusleiste angezeigt ( Abbildung B ).

Abbildung B.

Um dies zu beheben, schalten Sie den Größeninspektor um und bewegen Sie die Navigationsleiste um 20 Punkte nach unten, was der Höhe der Statusleiste entspricht. Dadurch wird die Navigationsleiste unter iOS 7 unter der Statusleiste platziert, frühere Versionen des Betriebssystems weisen jedoch eine Lücke von 20 Punkten auf. Um dieses neue Problem zu beheben, müssen Sie auch die iOS 6/7-Deltas für Y auf -20 einstellen, damit frühere Versionen des Betriebssystems korrekt positioniert werden ( Abbildung C ).

Abbildung C.

Wechseln Sie zurück zur Anzeige als iOS 6.1, und Sie werden feststellen, dass die Navigationsleiste korrekt bei 0 positioniert ist und das Delta jetzt +20 anzeigt ( Abbildung D ). Dies sagt Ihnen, dass für iOS 7 die Navigationsleiste um 20 Punkte nach unten verschoben wird. Denken Sie daran, dass sich das Delta je nach der angezeigten iOS-Version anpasst. Wenn Sie also iOS 6 anzeigen, gilt das Delta für iOS 7 und umgekehrt.

Abbildung D.

Das ist es! Eine einfache Lösung für Ihre Interface Builder-Dateien zur Unterstützung von iOS 7 und früheren Versionen des Betriebssystems. Wenn Sie Ihre Ansichten programmgesteuert ohne die Verwendung von Interface Builder erstellt haben, kann das folgende Codeausschnitt hilfreich sein, damit Sie Ihre Ansichten manuell positionieren können:

Hoffentlich sparen Sie mit diesem Trick Zeit, wenn Sie Interface Builder verwenden und frühere Versionen von iOS unterstützen möchten. Und weil so viele Änderungen an iOS und der Benutzeroberfläche vorgenommen wurden, sollten Sie Ihre App auf Geräten mit iOS 6 und iOS 7 gründlich testen. Viel Glück!

© Copyright 2021 | mobilegn.com