Ich versuche PPI (Pixel pro Zoll) in iOS zu finden.
Ich konnte keinen direkten Weg finden, um das abzufragen, wie wir es für die Displaygröße tun
%Vor%Es gibt einen Weg, es zu tun , indem Sie den Maßstab mit dem standardmäßigen generischen PPI für iPhone (163) oder iPad (132 ) aber es ist nicht genau.
Wenn die Formel richtig ist, dann PPI von iPhone 6 plus ist 489 , aber in Wirklichkeit ist PPI 401 Hier ist Referenz
Für den Moment scheint es, als wäre Hardcoding der richtige Weg.
Aber ich würde es gerne programmtechnisch mit einer Formel machen.
Ich glaube, es gibt keine öffentliche API, um entweder PPI oder die physische Größe eines Bildschirms zu erhalten.
Der einzige Weg besteht darin, die Liste der Geräte mit ihren physischen Größen und / oder PPIs fest zu codieren (und Sie können einen Gerätetyp aus der Klasse UIDevice erhalten).
Übrigens. Hier ist die Frage, die ziemlich dasselbe (andere Art) fragt: Wie funktionieren Lineal-Apps auf allen Geräten?
Ich habe gerade eine meiner alten ObjC-Bibliotheken auf Swift portiert und aktualisiert. Sie können es verwenden oder Teile des benötigten Codes verwenden. Holen Sie es hier: Ссылка .
Die Bibliothek konvertiert UIScreen.main.nativeScale
von Pixels Per Inch (PPI) in Punkte pro Zoll.
Installieren Sie die Bibliothek mit Cocoapods und importieren Sie sie dann:
%Vor%Und dann nutze es:
%Vor%Tags und Links ios screen-resolution swift uiscreen ppi