0

私のアプリには、画面いっぱいに背景画像があります。Retina ディスプレイ デバイスを使用しているかどうかに応じて、正しい .png ファイルを表示したいと思います。iPhone と iOS の両方のすべての .png ファイルを正しいサイズで既に追加しています。出来ますか ?そうでない場合、どのように適切に処理すればよいですか?

展開ターゲットとして iOS 5.1 を使用した XCode 4.3.2 があります。

4

2 に答える 2

4

グラフィックに適切な名前を付けると (たとえば@2x、png ファイルの接尾辞に " " を追加する)、iOS は適切なデバイスやディスプレイで Retina ディスプレイ グラフィックを使用できるようになります。特に、XIB ファイル内で設計されたユーザー インターフェイス内で UIImageViews やコントロールなどを使用している場合。

プログラムで画像を作成している場合 (つまり、アウトレットを定義してから " [UIImage imageNamed:] のような方法で画像を取得する場合、iOS は依然として高解像度の画像を取得するのに十分スマートです。繰り返しますが、グラフィックに適切な名前を付けていれば.

StackOverflow には、次のような役立つ質問が他にもあります。

ユニバーサル アプリで iPad と iPhone の両方の Retina グラフィックスをサポートする方法

Retina ディスプレイで @2x 高解像度グラフィックスを有効にするにはどうすればよいですか?

于 2012-06-14T02:12:49.243 に答える
2

これはおそらくうまくいくでしょう。まず、画面に 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"];

}

お役に立てれば!

于 2012-06-14T03:44:31.427 に答える