1

重複の可能性:
iphone4とiphone3を区別する方法

ええと、私はすべての@ 2xのものを知っており、網膜ディスプレイと高解像度のサポートに関する他のスタックオーバーフロースレッドとアップルリファレンスをすでに読んでいます。

解決要求パラメーターをサポートするリモートサーバーから画像を読み込んでいます。iPhone4の場合、より大きな解像度の画像をリクエストしたいと思います。

iPhone 4を使用しているかどうかをテストするにはどうすればよいですか?

シミュレーターで正しい値を取得していないため、UIDeviceの「model」フィールドを使用することはできません。

4

1 に答える 1

4

私はこのコードを同様の目的で使用します。

// Return YES if we're running on a device with a retina display.
BOOL hasRetinaDisplay(void)
{
        if([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
                return [[UIScreen mainScreen] scale] == 2.0 ? YES : NO;

        return NO;
}

これは、Retinaディスプレイを搭載したデバイスで実行できるiOSのバージョンでUIScreenのみ応答するというscale点で機能します。したがって、UIScreenがスケールに応答しない場合、デフォルトでは、Retina画面はありません。もしそうなら、その倍率をチェックしてください。1.0は網膜ディスプレイなし、2.0はiPhone4です。

于 2010-07-26T10:54:29.553 に答える