新しいiPhone 6および6+の画像解像度、@ 3xサポートが追加されましたか?


141

私のようないくつかの記事や議論を見ているここ1ここで新しいiPhoneのディスプレイのための3倍の画像@使用することを画像解像度について。本当ですか?

では、3つの画像を保持する必要があるということですか。たとえば、50 X 50の画像があるとします。新しいiPhoneの外観を最適化するには、3つの画像を保持する必要がありますか?

  • 通常(50 X 50)
  • @ 2x-Retina(100 X 100)
  • @ 3x-Retina HD(150 X 150)

または、新しい電話は@ 2x画像のみを使用し、@ 3xのようなものはありませんか?

私はサンプルプロジェクトを作成してテストしましたが、すべてのシミュレーターが@ 3x画像を使用しているようですが、これは混乱を招きます。

編集する

詳細はこちら

  • 3GS(163 ppiなので通常を使用)
  • 4、4、5、および5秒(326 ppi、@ 2xを使用)
  • 6(326 ppiなので@ 2xを使用するようです)
  • 6プラス(ここでは401 ppiに混乱があります)

編集する

Tsobとnitinの回答に基づいて、@ 3x画像をプロジェクトに追加しました。

情報編集

解像度が高いにもかかわらず、iPhone 6が@ 2x画像を使用する理由について混乱しているユーザーはほとんどいないようですが、その理由は

iPhone 6は解像度が異なる場合がありますが、ピクセルインチ(PPI)あたりの密度は同じです。

  • 解像度はピクセルの絶対数に関係します。
  • 密度(インチあたりのピクセル数-PPI)は、1インチあたりの相対的なピクセル数に関係します。これは、iPhone 6と以前のiPhoneの場合と同じですが、iPhone 6 plusでは異なります。

これについては、このスレッドで詳しく確認してください。

したがって、iPhone 6は、同じPPIを持ち、iPhone 6 plusが@ 3xを使用するため、iPhone 4、5、5Sと同じ@ 2x画像を使用します。


では、Retina 4 2xを使用しているデバイスがない場合、どのように使用するのでしょうか。
Mrunal 2014

1
4、5、6のiPhoneでも密度は同じであることに同意しますが、解像度の問題を解決するにはどうすればよいですか つまり、640x960ピクセルと750×1334ピクセルという大きな違いです。画面全体を覆う背景画像を使用する必要がある場合。この場合、イメージのxcassetsをどのように設定できますか?
Matrosov Alexander

@MatrosovAlexanderどうやってそれを解決したの?
マリオカルバーリョ

回避策として、@ 2x画像にもiphone 6画像を使用しましたが、xcodeに適切な画像がないのは間違いです
Matrosov Alexander

回答:


54

サンプルプロジェクトで標準の@ 2xおよび@ 3xイメージを使用しようとしましたが、iPhone 6+シミュレーターは@ 3xイメージを使用します。したがって、実行される@ 3xイメージがあるように見えます(シミュレーターが実際にデバイスの動作を複製する場合)。しかし奇妙なことに、すべてのデバイス(シミュレーター)は、プロジェクト構造(iPhone 4S / iPhone 5)にあるとき、この@ 3x画像を使用しているようです。
潜在的な@ 3x構造に関するAppleからのコミュニケーションの欠如は、開発者にiOS8アプリの公開を要求する一方で、特にそれらの結果をシミュレーターで見る場合、非常に混乱します。

** AppleのWebサイトから編集**:Appleの開発者向けスペースの「iOS 8の新機能」セクションでもこれを確認できます。

新しい画面スケールサポート iPhone 6 Plusは、画面スケール3.0の新しいRetina HDディスプレイを使用します。これらのデバイスで可能な限り最高のエクスペリエンスを提供するには、この画面スケール用に設計された新しいアートワークを含めます。Xcode 6では、アセットカタログに1x、2x、3xサイズの画像を含めることができます。新しい画像アセットを追加するだけで、iOSはiPhone 6 Plusで実行するときに正しいアセットを選択します。iOSでの画像の読み込み動作でも、@ 3xサフィックスが認識されます。

すべてのデバイスが@ 3xをロードしているように見える理由がまだわかりません。多分それはxcassetsではなく通常のファイルを使用しているためでしょうか?すぐに試してみます。

さらなるテスト後の編集:さて、iOS8はこれについて話をしているようです。iOS 7.1 iPhone 5シミュレーターでテストする場合、@ 2xイメージを正しく使用します。しかし、iOS 8で同じものを起動するときは、iPhone 5の@ 3xを使用します。それが、望ましい動作なのか、iOS8 GMの間違い/バグなのか、Xcode 6のシミュレータなのかはわかりません。


2
はい、シミュレータでテストしました。すべてのデバイスが@ 3x画像を取得し、実際に混乱しています
Bhumit Mehta 2014

したがって、結論として、今日の最良のパスは、イメージ名に「@ 2x」を使用することですが、6Plusのデバイスチェックと「@ 3x」なしの3xイメージを使用して、2xデバイスを害しないようにするのでしょうか。
darkheartfelt 14年

問題のアセットがPNGではなくJPGの場合にのみ、iPhone 6で3倍の選択が行われるようです。
emreberge 2015

102

更新:

アップルによるアイコン画像サイズの新しいリンク。

https://developer.apple.com/ios/human-interface-guidelines/graphics/image-size-and-resolution/

ここに画像の説明を入力してください


はい、本当です。アイコンまたは画像のサイズに関するAppleの公式ドキュメントを提供しています。

ここに画像の説明を入力してください

iPhone6とiPhone6 +の画像を設定する必要があります

iPhone 6の場合:

750 x 1334 (@2x) for portrait

1334 x 750 (@2x) for landscape

iPhone 6 Plusの場合:

1242 x 2208 (@3x) for portrait

2208 x 1242 (@3x) for landscape

画像とその解像度の詳細については、これが最も役立つ投稿です

コントロールの画像サイズを設定するには、次のように1x @ 2xおよび@ 3xを設定できます。

ここに画像の説明を入力してください


8
すべてのデバイスがRetina 2xまたは3xである場合、iOS 7/8でのみiPhoneをターゲットにするためにアセットカタログがプロジェクトで1x画像を要求するのはなぜですか?意味を成さない。
ダック

1
iphone4 @RubberDuckの場合もあるかもしれません:) 1xを必要とするipad 2とiPad Miniをご覧ください
Nitin Gohel

すみませんが、あなたが私が書いたものを読んでいませんでした。iOS 7向けのiPhone専用プロジェクトについて話しています。iOS7を実行できる1xのiphoneはありませんが、アセットカタログはそれを求めています。
ダック

@RubberDuck画像アセットを選択し、Xcodeの右側にあるユーティリティペインを表示します。タブの1つに一連のチェックボックスがあります。おそらく、アセットのチェックボックスが多すぎるため、1xがオプションとして表示されます。
rmaddy 2014


10

私はサンプルプロジェクトを作成してテストしましたが、すべてのシミュレーターが@ 3x画像を使用しているようです。これは混乱を招きます。

アセットカタログにイメージのさまざまなバージョンを作成して、イメージ自体がどのバージョンであるかがわかるようにします。

ここに画像の説明を入力してください

次に、各シミュレーターでアプリを順番に実行します。3x画像がiPhone 6 Plusでのみ使用されていることがわかります。

画像を呼び出して画像ビューに割り当てることにより、名前がアプリバンドルから画像(例:one.pngone@2x.pngone@3x.png)を使用して描画された場合も同じことが当てはまりimageNamed:ます。

(ただし、Interface Builderで画像を画像ビューに割り当てる場合は違いがあります-2xバージョンは倍解像度デバイスでは無視されます。これはおそらくバグであり、明らかにのバグですpathForResource:ofType:。)


1
アセットを「ユニバーサル」としてマークしたため、一貫した動作が見られます。代わりに、ドロップダウンメニューで「デバイス固有」を選択してみてください。
Nikolay Spassov 2014

1
@RalphZhouYuan今では問題なく動作します。リストに2xバージョンは表示されませんが、1xバージョンを割り当てるだけで、2xまたは3xバージョンが正しく使用されます。または、資産カタログを使用します。
2014年

1
@RalphZhouYuanダウンロード可能な例を次に示します:github.com/mattneub/Programming-iOS-Book-Examples/tree/master/…-App Bundleの画像ファイルとアセットカタログの画像ファイルの両方を使用して表示され、すべて正しく機能します。
2014年

3
@matt私は最終的に私の問題が私のアプリの展開ターゲット設定(6.0)に関連していることを発見しました。私は質問を開きました:stackoverflow.com/questions/26333278/… アップルにバグレポートを発行しました。
inexcii 2014年

1
@RalphZhouYuanうわー、それを追跡する素晴らしい探偵の仕事!ご報告いただきありがとうございます。
2014年

2

iosは常に最良の画像を取得しようとしますが、他のオプションにフォールバックします。したがって、アプリに通常の画像しかなく、@ 2x画像が必要な場合は、通常の画像を使用します。

プロジェクトに@ 2xのみを配置し、通常のデバイスでアプリを開くと、画像が縮小されて表示されます。

ios7およびios8デバイスをターゲットにして最高の品質が必要な場合は、網膜以外の電話が残っておらず、@ 3x iPadもないため、@ 2xと@ 3xが電話と通常、@ 2xがipadアセットに必要です。

多分それはベクトルグラフィックスからアプリでアセットを作成する方が良い... http://mattgemmell.com/using-pdf-images-in-ios-apps/を確認してください


アプリのベクトルに素晴らしいPaintCodeを使用するだけ
Fattie
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.