0

私は scale < 1.1 or> 1.9を使用して、低解像度バージョンと網膜バージョンを区別しています:

if (([[UIScreen mainScreen] scale] < 1.1) {}
if (([[UIScreen mainScreen] scale] > 1.9) {}

私の質問: 低解像度のスケールを持つすべての iPhone と< 1.1、低解像度のスケールを持つすべての iPad はあり< 1.1ますか?

スケール網膜を持つすべてのiPhoneとスケール> 1.9網膜を持つすべてのiPad > 1.9?

そのように思えますが、世の中には非常に多くのデバイスがあるので、確認したいだけです。

4

1 に答える 1

0

iOS 4.0 以降を当てにできる限り、あなたが提案したことは問題なく動作します。ただし、他の人が指摘したように、分数スケールを確認する必要はありません。UIScreenのドキュメントから:

デフォルトの論理座標空間はポイントを使用して測定されます。1 ポイントは約 1/160 インチに相当します。デバイスの画面のピクセル密度がかなり類似している場合、スケール ファクターは通常 1.0 に設定され、1 つのポイントが 1 つのピクセルにマッピングされます。ただし、ピクセル密度が大幅に異なる画面では、このプロパティをより高い値に設定する場合があります。

現在のすべてのデバイスに対してscale、1.0 または 2.0 のいずれかが返されます。

この StackOverflow answer on how to Detect Retina Displayで、注意すべき 1 つの注意事項について説明します。scaleこれは、iOS 3.2 を実行していたオリジナルの iPad であり、プロパティがありませんでした。はるか昔をターゲットにしている場合は、これを考慮し、 がUIScreenに応答しない場合は Retina ディスプレイを持っていないと想定する必要がありますscale

于 2012-08-23T04:14:37.117 に答える