13

iOSでPPI(Pixels Per Inch)を見つけようとしています。

ディスプレイサイズの場合のように、これを直接クエリする方法が見つかりませんでした

UIScreen.mainScreen().bounds

iPhone(163)またはiPad(132)の標準的な汎用PPIでスケールを掛けることによってそれを行う方法がありますが、それは正確ではありません.

計算式が正しければiPhone 6 plusのPPIは489ですが、実際のP​​PIは401です参考はこちら

今のところ、ハードコーディングが進むべき道のようです。

しかし、数式を使用してプログラムで実行したいと思います。

4

3 に答える 3

3

PPI または画面の物理サイズを取得するためのパブリック API はないと思います。

唯一の方法は、デバイスのリストを物理サイズや PPI でハードコーディングすることです (そして、UIDevice クラスからデバイス タイプを取得できます)。

ところで。これは、ほとんど同じことを (別の方法で) 尋ねている質問です: 定規アプリはどのようにしてすべてのデバイスで正確さを維持しますか?

于 2016-04-19T14:41:13.863 に答える
0

iPhone Plus はスケール 3 ですが、nativeScale は 2.6 です。

UIKit は、実際の画面サイズに合わせてこのコンテンツをサンプリングします。Metal または OpenGL ES コンテンツは、正確な寸法でレンダリングする必要があります。

int screenPPI() {
    return [[UIScreen mainScreen] nativeScale] * ((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) ? 132 : 163);
}
于 2018-07-12T23:43:14.290 に答える