2016-11-09 6 views
0

資産に関する質問があります。画面の半分でなければならない画像がある場合、必要な画像ファイルの数はいくつですか? iPhone 5については、@ 1x、@ 2x、@ 3xが必要です。 iPhone 6の場合、@ 1x、@ 2x、@ 3xが必要です。 iPhone 7用...iOSの画像サイズ

これは正しい方法ですか?その場合は、私はコードを介してデバイスのサイズを取得し、次に、サイズに応じて、右の画像を使用する必要がありますか?

これは正しい方法ではなく、単一のスケーラブルイメージからPDFでユニークなイメージを作成する必要がある場合、そのイメージのサイズはピクセル(幅と高さ)で表されます。それはすべてのデバイスのためにお時間を

おかげで多くのことを2倍@、私が必要とするすべては1倍@ある固定された画像を使用してからと3倍@異なるので

これは、私が苦労していますものです!

+0

iPhone 5のみ '@の2x'を必要とします。 iPhone 6は '@ 2x'だけ必要です。 iPhone 6+には '@ 3x'などしか必要ありません。 – rmaddy

+0

他のデバイス(別の高さ)に@ 2xが必要な場合は、コードを使ってデバイスのサイズを取得してから、正しいイメージを置く必要があります?これは正しい方法ですか? –

+0

@DanielFernandezYいいえ、それは自動的に置くために正しいイメージを取得します。必要なのは接尾辞なしの名前です – Tj3n

答えて

1

これはxcassetsに関する素晴らしい機能の1つです。あなたはプログラム的にデバイスの種類を取得し、デバイスが必要とするイメージを指定する必要はありません。

例として、ストーリーボードを使用している場合は、xcassetsフォルダに格納されているイメージにUIImageViewのイメージプロパティを割り当て、実行時に、実行時に正しいイメージサイズが実行されているデバイスに基づいて使用されます。これは、XCAssetsで@ 1x、@ 2x、および@ 3xの画像サイズを与えたと仮定しています。

ファインダーからすべての3つのボックスに画像をドラッグ&ドロップすることを確認します:

enter image description here

+0

これはアイコンのような固定サイズのイメージでも機能します。デバイスの画面サイズの画像では機能しません。 iPhone 5と6はどちらも「@ 2x」ですが、サイズが異なる画面があります。 – rmaddy

+0

私はこの場合、あなたが表示したいものに依存することを知っています。単色の場合は、自動レイアウトの制約を使用して、画像が画面の半分になるようにします。 iPhone 5と6で正確に作成された2つの特定の画像がある場合は、デバイスタイプを検出する必要があります。 –

+0

だから私は、デバイスの種類を検出し、使用するイメージを選択する必要があります。つまり、iPhone 5の場合は2倍、iPhone 6/6の場合は2倍、iPhone 6+/6の場合は3倍+が必要です。これは最善の方法ですか?またはPDF画像と同様のものを使用できますか? –

関連する問題