1

たとえば、網膜ディスプレイ用の画像great_image.pngとgreat_image@2x.pngがあります。コードで UIImage を作成したい場合は、次のように記述します。

UIImage *image = [UIImage imageNamed:@"great_image"];

ただし、xib で UIImageView を作成し、xib にイメージを設定する場合は、イメージ名を記述する必要があります。私は何を書くべきですか: "great_image.png" or "great_image@2x.png" or "great_image"? (「great_image」と書くと、xibに画像が表示されないため)。

更新:質問の2番目の部分:

great_image@2x.png しかなく、great_image.png がない場合は、xib に great_image.png を記述する必要がありますか?

4

3 に答える 3

1
  1. xib に great_image.png を設定する必要があります。これは、Retina ディスプレイの場合は @2x 画像が必要になるためです。
  2. プロジェクトにgreat_image.png画像がない場合、その場合、非Retinaデバイスでは表示されません
于 2013-08-29T05:52:00.687 に答える
1

プロジェクトにgreat_image.pngとgreat_image@2x.pngがある場合、使用するとき

UIImage *image = [UIImage imageNamed:@"great_image"];

画面スケールが 1.0 (iPhone3G/3GS) の場合は great_image.png を、画面スケールが 2.0 (retina、iPhone 4) の場合は great_image.png を自動的に読み込みます。

great_image@2x.png を指定する必要はありません

@2x 画像しかない場合 高解像度の @2x 画像は非 Retina デバイスでは自動的にダウンサンプリングされません。

ただし、Retina 以外のデバイスは、高解像度 @2x 画像を縮小して表示しますが、ダウンサンプリングしないため、品質が低下します。

于 2013-08-29T05:55:16.673 に答える
0

xib から imageview の image プロパティを設定できます。その画像の名前を指定するだけです。画像が画像ビューに表示されない場合は、バンドルリソースを確認して、その画像が追加されているかどうかを確認してください。次に、コンパイラが実行時にデバイス (非ラティーナまたはラティーナ) を考慮して決定するため、イメージ名で @2x を指定する必要はありません。

于 2013-08-29T05:53:57.903 に答える