Ich habe mir hier und hier einige Artikel und Diskussionen über Bildauflösungen angesehen, die neue iPhones für die Anzeige mit @ 3x-Bildern verwenden. Ist es wahr?
Bedeutet das also, dass wir drei Bilder behalten müssen? Angenommen, ich habe ein Bild von 50 x 50, muss ich 3 Bilder behalten, um das Erscheinungsbild für neue iPhones zu optimieren?
- Normal (50 x 50)
- @ 2x - Netzhaut (100 x 100)
- @ 3x - Retina HD (150 x 150)
Oder verwenden die neuen Telefone nur @ 2x-Bilder und es gibt nichts Vergleichbares wie @ 3x?
Ich habe getestet, indem ich ein Beispielprojekt erstellt habe, und alle Simulatoren scheinen @ 3x-Bilder zu verwenden. Dies ist verwirrend.
Bearbeiten
Hier noch ein paar Infos
- 3GS (163 ppi, also Normal verwenden)
- 4, 4s, 5 und 5s (326 ppi, also verwenden wir @ 2x)
- 6 (326 ppi, also scheint es, als würde es @ 2x verwenden)
- 6 plus (401 ppi hier liegt die Verwirrung)
Bearbeiten
Basierend auf den Antworten von Tsob und Nitin habe ich meinem Projekt @ 3x Bilder hinzugefügt.
Informationsbearbeitung
Ich sehe, dass nur wenige Benutzer verwirrt sind, warum das iPhone 6 @ 2x-Bilder verwendet, obwohl es eine höhere Auflösung hat. Der Grund dafür ist
Das iPhone 6 hat möglicherweise eine andere Auflösung, aber die gleiche Dichte pro Pixel Zoll (PPI).
- Die Auflösung betrifft eine absolute Anzahl von Pixeln.
- Die Dichte (auch bekannt als Pixel pro Zoll - PPI) betrifft eine relative Anzahl von Pixeln pro Zoll, die bei iPhone 6 und früheren iPhones gleich ist, bei iPhone 6 plus jedoch unterschiedlich ist.
Weitere Informationen hierzu finden Sie hier in diesem Thread
Daher verwendet das iPhone 6 das gleiche @ 2x-Bild wie die iPhones 4, 5 und 5S, da es das gleiche PPI hat und das iPhone 6 plus @ 3x verwendet.
quelle
Antworten:
Ich habe in einem Beispielprojekt versucht, Standard-, @ 2x- und @ 3x-Bilder zu verwenden, und der iPhone 6+ -Simulator verwendet das @ 3x-Bild. Es scheint also, dass @ 3x Bilder zu machen sind (wenn der Simulator tatsächlich das Verhalten des Geräts repliziert). Aber das Seltsame ist, dass alle Geräte (Simulatoren) dieses @ 3x-Bild zu verwenden scheinen, wenn es sich in der Projektstruktur befindet, auch iPhone 4S / iPhone 5.
Der Mangel an Kommunikation von Apple über eine potenzielle @ 3x-Struktur, während Entwickler gebeten werden, ihre iOS8-Apps zu veröffentlichen, ist ziemlich verwirrend, insbesondere wenn diese Ergebnisse auf dem Simulator angezeigt werden.
** Von Apples Website bearbeiten **: Dies wurde auch im Abschnitt "Was ist neu in iOS 8?" Im Entwicklerbereich von Apple gefunden:
Ich verstehe immer noch nicht, warum alle Geräte das @ 3x zu laden scheinen. Vielleicht liegt es daran, dass ich normale Dateien und keine xcassets verwende? Werde es bald versuchen.
Nach weiteren Tests bearbeiten: Ok, es scheint, dass iOS8 einen Vortrag darüber hat. Beim Testen auf einem iOS 7.1 iPhone 5-Simulator wird das @ 2x-Bild korrekt verwendet. Beim Starten unter iOS 8 wird jedoch das @ 3x auf dem iPhone 5 verwendet. Ich bin mir nicht sicher, ob dies ein gewünschtes Verhalten oder ein Fehler in iOS8 GM oder Simulatoren in Xcode 6 ist.
quelle
AKTUALISIEREN:
Neuer Link für die Bildgröße der Symbole von Apple.
https://developer.apple.com/ios/human-interface-guidelines/graphics/image-size-and-resolution/
Ja, hier stimmt es. Apple bietet offizielle Dokumentation zu Symbolen oder Bildgröße
Sie müssen Bilder für iPhone6 und iPhone6 + einstellen
Für iPhone 6:
Für iPhone 6 Plus:
Für weitere Informationen zu Bildern und ihrer Auflösung ist dies der beste hilfreiche Beitrag aller Zeiten
Zum Einstellen der Bildgröße für Steuerelemente können Sie 1x @ 2x und @ 3x wie folgt einstellen:
quelle
Erstellen Sie verschiedene Versionen eines Bildes in Ihrem Asset-Katalog, sodass das Bild selbst angibt, um welche Version es sich handelt:
Führen Sie nun die App nacheinander auf jedem Simulator aus. Sie werden sehen, dass das 3x-Bild nur auf dem iPhone 6 Plus verwendet wird.
Das Gleiche gilt, wenn die Bilder aus dem App-Bundle unter Verwendung ihrer Namen (z. B. one.png , [email protected] und [email protected] ) durch Aufrufen
imageNamed:
und Zuweisen zu einer Bildansicht gezeichnet werden .(Es gibt jedoch einen Unterschied, wenn Sie das Bild in Interface Builder einer Bildansicht zuweisen. Die 2x-Version wird auf Geräten mit doppelter Auflösung ignoriert. Dies ist vermutlich ein Fehler, anscheinend ein Fehler in
pathForResource:ofType:
.)quelle
ios versucht immer, das beste Bild aufzunehmen, greift jedoch auf andere Optionen zurück. Wenn Sie also nur normale Bilder in der App haben und @ 2x Bilder benötigen, werden die normalen Bilder verwendet.
Wenn Sie nur @ 2x in das Projekt einfügen und die App auf einem normalen Gerät öffnen, werden die Bilder zur Anzeige verkleinert.
Wenn Sie auf ios7- und ios8-Geräte abzielen und die beste Qualität wünschen, benötigen Sie @ 2x und @ 3x für Telefon und Normal und @ 2x für iPad-Assets, da kein Nicht-Retina-Telefon und kein @ 3x-iPad mehr vorhanden ist.
Vielleicht ist es besser, die Assets in der App aus einer Vektorgrafik zu erstellen ... siehe http://mattgemmell.com/using-pdf-images-in-ios-apps/
quelle