2016-05-03 18 views
0

Auf einer Probefahrt App habe ich eine grundlegende UIViewController (QZTestViewController) geladen mit seiner XIB-Datei mit nur einem UILabel durch automatische Anordnung zentriert. Dieser Controller wird über den Home Controller (QZHomeViewController, der im Standard-Storyboard entworfen wurde) geöffnet.Texthöhe unterscheidet sich zwischen IB und Simulator

Das Problem ist, dass die Höhe dieses Labels kleiner ist als das Ergebnis auf dem Simulator. Sehen Sie es in XIB/Simulator comparison snapshot.

Irgendeine Idee? Ein kleines Testprojekt ist verfügbar here wenn jemand einen Blick haben und mir helfen kann, bevor ich verrückt werde.

PS: Beachten Sie, dass die simulierten Metriken auf iPhone 5.5-Zoll in der XIB-Datei festgelegt ist und ich den Simulator iPhone 6s Plus (9.3) ausführen.

+0

Bitte ein Radar an http://bugreport.apple.com Datei, einschließlich Ihrem Test Projekt. –

Antwort

1

Von der Größe der Statusleiste Elemente auf dem Simulator (und der doppelten Kontrolle Projekt), kann ich sagen, dass Ihre Anwendung den Bildschirm passen Upscaling wird. Dies passiert, weil nicht richtig auf die Bildschirme 4,7 "oder 5,5" konfiguriert ist.

Um das Problem zu beheben und es mit der richtigen Auflösung zu laden, fügen Sie Ihrem Projekt einfach ein LaunchScreen-Storyboard hinzu. Gehen Sie zu Ihren Projekteinstellungen, wählen Sie Ihr Ziel und in App Icons und starten Bilder ein Storyboard oder xib Datei zu Startbildschirm Datei wählen. Dies wird die App kompatibel mit den größeren Bildschirmen Auflösungen, und Ihre Taste wird die richtige Größe hat, da es nicht hochskaliert werden :)

+0

Das funktioniert, auch wenn ich nicht ganz verstehe warum. – chepiok

+0

@chepiok Als Apple die neuen Bildschirmgrößen eingeführt, beschlossen sie, dass iOS nicht mehr Starten Sie Bilder verwenden würde (wie Sie in Ihrem Projekt festgelegt haben), und stattdessen eine Interface Builder-Datei (wie ein xib oder Storyboard) verwenden, anpassen kann alle unterschiedlichen Bildschirmgrößen statt vieler verschiedener Bilder. Daher wird davon ausgegangen, dass die neuen Geräte nicht unterstützt werden, wenn in Ihrem Projekt weiterhin nur Bilder starten verwendet werden. [Eine andere Frage, dass hier] (http://stackoverflow.com/questions/25754942/how-to-enable-native-resolution-for-apps-on-iphone-6-and-6-plus) – Meriw

+0

@chepiok Würde Sie möchten die Antwort als akzeptiert markieren? – Meriw

Verwandte Themen