iPhone 6 Plus Auflösung Verwirrung: Xcode oder Apples Website? zur Entwicklung
Apple-website behauptet, dass die Auflösung 1080p: 1920 x 1080
Jedoch den Start-Bildschirm benötigt Xcode (8.0 GM startete heute) 2208 x 1242.
Wer hat Recht?
Kommentar zu dem Problem
Die Startbilder für das iPhone 6+ muss 1242x2208 und 2208x1242. Mindestens dies macht apps richtig funktioniert im simulator (und dies ist dokumentiert in der HIG). Ich habe nicht herausgefunden, warum dies unterscheidet sich von den vermeintlichen körperlichen Bildschirmgröße von 1920 x 1080 Pixeln.
sehr seltsame Diskrepanz.
Hervorragende Erklärung: paintcodeapp.com/news/iphone-6-screens-demystified
Dies mag sich ändern in der stabilen version von Xcode 6.1. Ist es?
Update der link von Andreas, sehen die "Ultimate Guide to iPhone Auflösungen" paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions
InformationsquelleAutor der Frage JasonGenX | 2014-09-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem iPhone 6+ rendert intern mit @3x Vermögenswerte auf eine virtuelle Auflösung von 2208×1242 (mit 736x414 Punkte), dann die Proben, die nach unten für die Anzeige. Das gleiche wie mit einer skalierten Auflösung auf einem Retina-MacBook — es lässt Sie Treffer mit einem integral für mehrere pixel Vermögen, während immer noch z.B. 12 pt text die gleiche Größe auf dem Bildschirm.
So, ja, die Start-Bildschirme werden müssen, dass Größe.
Der Mathematik:
6, 5s, 5, 4s und 4 sind alle, die 326 Pixel pro Zoll, und verwenden Sie @2x Vermögenswerte zu bleiben, die etwa 160 Punkte pro Zoll aller bisherigen Geräte.
Den 6+ 401 Pixel pro Zoll. Also es würde theoretisch etwa @2,46 x Vermögen. Statt Apple wird @3x Vermögenswerte und skaliert, dass die gesamte Ausgabe bis zu etwa 84% der natürlichen Größe.
In der Praxis hat Apple beschlossen zu gehen mit mehr wie 87%, das drehen der 1080 in 1242. Kein Zweifel, das war etwas zu finden, die so nah wie möglich zu 84%, die immer noch produziert Integrale Größen in beide Richtungen — 1242/1080 = 2208/1920 genau, in der Erwägung, dass wenn Sie möchten, stellte sich die 1080 in, sagen wir, 1286, Sie würde irgendwie dargestellt werden muss 2286.22 Pixel vertikal zu skalieren.
InformationsquelleAutor der Antwort Tommy
Die Antwort ist, dass ältere apps laufen in 2208 x 1242 Gezoomten Modus. Aber wenn Sie eine app gebaut für die neuen Handys die Auflösungen sind verfügbar: Super-Retina HD 5.8 (iPhone X) 1125 x 2436 (458ppi), Retina-HD-5.5 (iPhone 6, 7, 8 Plus) 1242 x 2208 und Retina-HD-4.7 (iPhone 6) 750 x 1334. Dies führt zu der Verwirrung in der Frage genannten. Apps erstellen, die die volle Bildschirmgröße des neuen Handys hinzufügen LaunchImages in den Größen: 1125 x 2436, 1242 x 2208, 2208 x 1242 und 750 x 1334.
Größe für iPhone X mit @3x-Skalierung (Apple-name: Super-Retina-HD -), Koordinatenraum: 375 x 812 Punkte und 1125 x 2436 Pixel, 458 ppi, Gerät physikalische Größe ist 2.79 x 5.65 in oder 70.9 x 143.6 mm.
Größe für iPhone 6, 6S, 7 und 8 mit @3x-Skalierung (Apple-name: Retina-HD-5.5), Koordinatenraum: 414 x 736 Punkte und 1242 x 2208 Pixel, 401 ppi, Bildschirm physikalische Größe 2,7 x 4,8 oder 68 x 122 mm. Bei der Ausführung im Gezoomten Modus, d.h. ohne die neuen LaunchImages oder gewählt im Setup auf iPhone 6 Plus, die native Skalierung ist 2.88, und der Bildschirm ist mit 320 x 568 Punkte, die das iPhone 5 nativen Größe:
Größe für iPhone 6 und iPhone 6S mit @2x-Skalierung (Apple-name: Retina-HD-4.7), Koordinatenraum: 375 x 667 Punkte und 750 x 1334 Pixel, 326 ppi, Bildschirm physikalische Größe 2.3 x 4.1 in-oder 58 x 104 mm. Bei der Ausführung im Gezoomten Modus, d.h. ohne die neuen LaunchImages, der Bildschirm ist mit 320 x 568 Punkte, die das iPhone 5 nativen Größe:
Und iPhone 5 zum Vergleich: 640 x 1136, iPhone 4 640 x 960.
Hier ist der code, den ich verwendet, um check this out (beachten Sie, dass nativeScale läuft nur auf iOS 8):
Beachten Sie: Upload-LaunchImages sonst die app läuft auch im Gezoomten Modus und nicht das richtige Skalierung oder die Bildschirm-Größen. Im Gezoomten Modus die
nativeScale
undscale
wird nicht die gleiche sein. Auf einem realen Gerät die Skala kann 2.608 auf dem iPhone 6 Plus, auch wenn es nicht im Gezoomten Modus, aber es wird sich zeigen, Skala von 3.0 bei der Ausführung auf dem simulator.InformationsquelleAutor der Antwort Hannes Sverrisson
Realen/physischen iPhone 6 Plus Auflösung ist 1920x1080, aber in Xcode Sie Ihre Schnittstelle für 2208x1242 Auflösung (736x414 Punkte) und auf dem Gerät wird es automatisch skaliert auf 1920x1080 Pixel.
iPhone-Auflösungen Kurzübersicht:
InformationsquelleAutor der Antwort Leszek Szary
Sollten Sie wahrscheinlich aufhören, starten Sie Bilder in iOS 8 und verwenden Sie ein storyboard oder nib/xib.
In Xcode 6, öffnen Sie die
File
Menü, und wählen SieNew
⟶File...
⟶iOS
⟶User Interface
⟶Launch Screen
.Öffnen Sie dann die Einstellungen für Ihr Projekt, indem Sie es anklicken.
In der
General
Registerkarte im AbschnittApp Icons and Launch Images
, legen Sie dieLaunch Screen File
zu den Dateien, die Sie gerade erstellt haben (dies wirdUILaunchStoryboardName
iminfo.plist
).Beachten Sie, dass für die Zeit der simulator wird nur ein schwarzer Bildschirm angezeigt, so müssen Sie test auf einem echten Gerät.
Hinzufügen einer Startbildschirm xib-Datei zu Ihrem Projekt:
Konfigurieren Ihres Projekts für die Verwendung der Start-Bildschirm xib-Datei anstelle der Asset-Katalog:
InformationsquelleAutor der Antwort davidisdk
Auf dem physischen Gerät, das iPhone 6 Plus den Hauptbildschirm der Grenzen ist 2208x1242 und nativeBounds ist 1920x1080. Es gibt hardware-Skalierung beteiligt, um die Größe der physischen display.
Auf dem simulator, das iPhone 6 Plus-Hauptbildschirm die Grenzen und nativeBounds sind beide 2208x1242.
In anderen Worten... Videos, OpenGL, und andere Dinge, die basierend auf
CALayers
, die sich mit Pixeln beschäftigen sich mit der realen 1920x1080 frame-buffer auf dem Gerät (oder 2208x1242 auf der sim-Karte). Dinge, die den Umgang mit Punkte inUIKit
wird Angebot mit den 2208x1242 (x3) Grenzen und skaliert wie die entsprechenden am Gerät.Den simulator nicht haben Zugriff auf die gleichen hardware, ist dabei die Skalierung auf dem Gerät und es ist nicht wirklich viel von einem Vorteil für die Simulation in der software als würden Sie zu anderen Ergebnissen als die hardware. So macht es Sinn um die
nativeBounds
eines simulierten Geräts Haupt-Bildschirm, um die Grenzen des physischen Gerät den Hauptbildschirm.iOS 8 Hinzugefügt-API
UIScreen
(nativeScale
undnativeBounds
) zu lassen, ein Entwickler bestimmen die Auflösung desCADisplay
entsprechend derUIScreen
.InformationsquelleAutor der Antwort Jeremy Huddleston Sequoia
Schauen Sie sich diese Infografik: http://www.paintcodeapp.com/news/iphone-6-screens-demystified
Erklärt es die Unterschiede zwischen alt-iPhones, iPhone 6 und iPhone 6 Plus. Sie können finden Sie unter Vergleich von Bildschirm-Größen in den Punkten, gerenderte Pixel und physikalische Pixel. Dort finden Sie auch Antwort auf Ihre Frage:
Update:
Es ist eine aktualisierte version der Infografik oben erwähnt. Es enthält weitere ausführliche Informationen über die Bildschirmauflösung Unterschiede, und es deckt alle iPhone-Modelle bisher, einschließlich 4-Zoll-Geräte.
http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions
InformationsquelleAutor der Antwort Darrarski
Für diejenigen wie mich, die sich Fragen, wie legacy-apps behandelt werden, ich habe ein bisschen testen und die Berechnung auf das Thema.
Dank @hannes-sverrisson Tipp, ich begann auf der Annahme, dass eine legacy-app ist die Behandlung mit einem 320x568 Ansicht im iPhone 6 und iPhone 6 plus.
Wurde der test gemacht mit einem einfachen schwarzen hintergrund
[email protected]
mit einem weißen Rand. Der hintergrund hat eine Größe von 640x1136 Pixel und es ist schwarz mit einem inneren weißen Rand von 1 pixel.Unten sind die screenshots von dem simulator:
Auf dem iPhone 6 screenshot können wir sehen, ein 1-pixel-Rand oben und unten den weißen Rand und einen 2 pixel Rand an das iPhone 6 plus screenshot. Dies gibt uns eine verwendet Raum 1242x2204 auf iPhone 6 plus, statt 1242x2208, und 750x1332 auf das iPhone 6, statt 750x1334.
Können wir davon ausgehen, dass diese Toten Pixel gemeint sind, zu respektieren, das iPhone 5 Seitenverhältnis:
Zweiten, ist es wichtig zu wissen, dass die @2x-Ressourcen skaliert werden nicht nur auf dem iPhone 6 plus (was erwartet die @3x-assets), sondern auch auf dem iPhone 6. Dies ist wahrscheinlich, da keine Skalierung der Ressourcen geführt hätte, um unerwartete layouts, aufgrund der Vergrößerung der Ansicht.
Allerdings ist die Skalierung nicht gleichwertig in Breite und Höhe. Ich versuchte es mit einem 264x264 @2x Ressource. Angesichts der Ergebnisse, muss ich davon ausgehen, dass die Skalierung ist direkt proportional zur Pixel /Punkte-Verhältnis.
Es ist wichtig zu beachten, dass das iPhone 6 die Skalierung ist nicht die gleiche Breite und Höhe (309x310). Dieser neigt dazu, zu bestätigen die obige Theorie, dass die Skalierung erfolgt nicht proportional in Höhe und Breite, sondern nutzt die Pixel /Punkte-Verhältnis.
Ich hoffe, das hilft.
InformationsquelleAutor der Antwort François Verry
Selbst wenn ich in der Regel nicht wie der Ton von John Gruber ' s Daring Fireball blog, seine Größeres iPhone-Display Vermutung lohnt sich das Lesen.
Er vermutete, bekam aber genau Recht der Auflösung in Punkte und Pixel für beide Modelle, außer, dass er nicht (ich auch nicht) erwarten, dass Apple zu bauen, die eine kleinere Auflösung physischen anzeigen und verkleinert (details sind in @Tommy ' s Antwort).
Den Kern des ganzen ist, dass man sollte aufhören zu denken, in Bezug auf Pixel und denken in Bezug auf die Punkte (dies war der Fall für einige Zeit, es ist nicht eine Erfindung der jüngsten Zeit) und der daraus resultierenden physikalischen Größe der UI-Elemente. Kurz gesagt, beide neuen iPhone-Modelle zu verbessern, in dieser Hinsicht, wie physisch die meisten Elemente bleiben die gleiche Größe, Sie können einfach passen mehr von Ihnen auf dem Bildschirm (für jeden größeren Bildschirm können Sie mehr passen).
Ich bin nur etwas enttäuscht, dass Sie nicht gehalten mapping der internen Auflösung, Bildschirm-Auflösung 1:1 für das größere Modell.
InformationsquelleAutor der Antwort rawpower