2014-09-16 12 views
23

iPhone 6 Plus verwendet @ 3x Bild-Assets, aber iPhone 6 verwendet @ 2x Vermögenswerte Bild - wie iPhone 4 und iPhone 5 (Image resolution for new iPhone 6 and 6+, @3x support added?).Warum verwendet das iPhone 6 @ 2x Image Assets?

iPhone 5, iPhone 5C und iPhone 5S haben die Bildschirmauflösung 640x1136. Die Bildschirmauflösung von iPhone 6 ist 750x1334.

So iPhone 6 skaliert Bilder von 640x1136? Gibt es eine Möglichkeit, Grafiken für iPhone 6 's etwas höhere Bildschirmauflösung angepasst werden?

Edit: Ich weiß, dass das PPI das gleiche ist. Aber sagen Sie zum Beispiel, dass ein Bild alle verfügbaren Breiten sowohl auf dem iPhone 5 als auch auf dem iPhone 6 aufnehmen soll. Ich erstelle ein 640 x 200 Pixel großes Bild und nenne es [email protected] Auf dem iPhone 6 wird es auf 750 Pixel Breite hochskaliert, oder?

+1

Theoretisch Sie die Imagenamed swizzle könnte: Methode speziell @ 3x wählen (oder Namen mit irgendeinem anderen Symbol) Bilder während der Laufzeit, wenn das Gerät iPhone 6 ist, jedoch empfehle ich diesen Pfad für eine Produktion App. –

+4

Haben einige downvotes bekommen aber keine Ahnung warum. Bitte lassen Sie einen Kommentar beim downvoting. Danke! –

+0

Es lohnt sich Wenn Sie Auto-Layout verwenden, hat Ihre Anwendung mehr Platz auf dem iPhone 6, um Inhalte anzuzeigen. (Nicht über die 6 sprechen Plus) Wenn nicht, wird Ihre App gestreckt/skaliert. Dies soll alle Apps unterstützen, die punktbasierte X-Positionen verwenden, aber nicht erkennen, dass die Breite mehr als 1136/568 betragen kann. dh. Eine App, bei der ein Button 30 Punkte vom rechten Rand entfernt sein soll, könnte eine X-Position von 538.0 verwenden. –

Antwort

6

iPhone 6 verwendet @ 2x Bild-Assets und nicht R4 oder etwas anderes, weil Apple nicht bieten geeignete APIs für Hintergrundbilder!

Der direkteste Weg ist jetzt 2 Assets zu erstellen und sie programmatisch laden :(

Check this out: How to specify size for iPhone 6/7 customised edge-to-edge image?

+1

Oh mein Gott, ich hasse Hinzufügen von Hintergrundbildern zu meiner App wegen dieses Problems :( –

5

iPhone 6 (nicht Plus) hat die gleiche DPI wie iPhone 4 - 5s, d. H. 326 dpi. Also, 2x Bilder immer noch aktuell.

+1

Ja, aber es hat mehr Zoll. Sagen wir zum Beispiel, ich erschaffe ein 640x200 Pixel Bild für @ 2x. Auf dem iPhone 6 muss dieses Bild auf 750 Pixel Breite skaliert werden, nicht? Oder gibt es etwas, das ich nicht verstehe? –

+0

Vielleicht hilft dies: http://www.paintcodeapp.com/news/iphone-6-screens-demystified –

+7

@ NiklasBerglund Nein. Ein 640x200 Pixel (nicht Punkt) Bild auf einem 2x Gerät wird bei 320x100 Punkte rendern. Die iPhone 4 und 5 Modelle sind 320 Punkte breit. Das iPhone 6 ist 375 Punkte breit, so dass das Bild die Bildschirmbreite nicht füllt, es sei denn, Sie haben es eingerichtet. – rmaddy

2

Marat AL korrekte reffer zu this thread ist seine Antwort

iPhone 6 könnte unterschiedliche Auflösung haben aber pro Pixel gleicher Dichte von

Zoll (PPI)
  • Auflösung bezieht sich auf eine absolute Zahl hat Hinzufügen von Pixeln.
  • Dichte (aka Pixel pro Zoll - PPI) betrifft eine relative Anzahl von Pixeln pro Zoll, die im Fall von iPhone 6 und früheren iPhones gleich ist, aber anders in iPhone 6 Plus.

prüfen mehr über diese here in this thread

Daher iPhone 6 verwendet @ 2x Bild gleiche wie iPhones 4, 5 und 5S.

This post wird auf jeden Fall klar, alle Ihre Verwirrung in Bezug auf iPhone 6 Auflösung

bearbeiten

This post will helped me to understand better about pixelling and scaling iPhone 6 and 6 plus

+1

Ich verstehe immer noch nicht, wie Bilder für 640x1136 Auflösung auf einer Auflösung von 750x1334 angezeigt werden können, ohne hochskaliert zu werden? Mir ist bewusst, dass iPhone 6 ** plus ** Downsamples, aber AFAIK iPhone 6 nicht? –

+0

Wenn Sie also ein @ 2x-Bild auf dem iPhone 5 und iPhone 6 verwenden und Ihre App so aktualisieren, dass das automatische Layout verwendet wird, nimmt das Bild die gleiche Pixelanzahl ein, benötigt aber weniger Platz auf dem Bildschirm. dh. Wenn es links von einer Zelle in einer Tabellenzeile angezeigt wird, kann es nur die obersten 10% der Zelle und nicht die linken 15% usw. abdecken? –

+0

@NiklasBerglund Sie werden hochskaliert * es sei denn, Ihre App verwendet das automatische Layout, um sie mit der gleichen * Pixel * -Größe zu positionieren. Es ist in der Tat ein hartes Konzept, um Köpfe herumzulegen. –