私のアプリには、画面いっぱいに背景画像があります。Retina ディスプレイ デバイスを使用しているかどうかに応じて、正しい .png ファイルを表示したいと思います。iPhone と iOS の両方のすべての .png ファイルを正しいサイズで既に追加しています。出来ますか ?そうでない場合、どのように適切に処理すればよいですか?
展開ターゲットとして iOS 5.1 を使用した XCode 4.3.2 があります。
私のアプリには、画面いっぱいに背景画像があります。Retina ディスプレイ デバイスを使用しているかどうかに応じて、正しい .png ファイルを表示したいと思います。iPhone と iOS の両方のすべての .png ファイルを正しいサイズで既に追加しています。出来ますか ?そうでない場合、どのように適切に処理すればよいですか?
展開ターゲットとして iOS 5.1 を使用した XCode 4.3.2 があります。
グラフィックに適切な名前を付けると (たとえば@2x
、png ファイルの接尾辞に " " を追加する)、iOS は適切なデバイスやディスプレイで Retina ディスプレイ グラフィックを使用できるようになります。特に、XIB ファイル内で設計されたユーザー インターフェイス内で UIImageViews やコントロールなどを使用している場合。
プログラムで画像を作成している場合 (つまり、アウトレットを定義してから " [UIImage imageNamed:
] のような方法で画像を取得する場合、iOS は依然として高解像度の画像を取得するのに十分スマートです。繰り返しますが、グラフィックに適切な名前を付けていれば.
StackOverflow には、次のような役立つ質問が他にもあります。
これはおそらくうまくいくでしょう。まず、画面に Retina ディスプレイがあるかどうかを確認し、ある場合は、背景画像を Retina 画像に設定します。Retina ディスプレイがない場合、背景画像は通常の画像です。viewWillAppear
これをまたはに入れることができますviewDidLoad
。
if ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] &&
([UIScreen mainScreen].scale == 2.0)) {
// Retina display
UIImage *backgroundImage = [UIImage imageNamed:@"retinaImage.png"];
} else {
// Non-Retina display
UIImage *backgroundImage = [UIImage imageNamed:@"nonRetinaImage.png"];
}
お役に立てれば!