Dur*_*n.H 11 ppi screen-resolution ios uiscreen swift
我试图找出iOS中的PPI(Pixils Per Inch).
我找不到任何直接的方法来查询这个,就像我们对显示大小一样
UIScreen.mainScreen().bounds
Run Code Online (Sandbox Code Playgroud)
有一种方法可以通过将尺度与iPhone(163)或iPad(132)的标准通用PPI相乘来实现,但这并不准确.
如果公式是正确的那么PPI的iPhone 6 plus是489,但在现实的PPI为401这里是参考
现在似乎硬编码是要走的路.
但我想使用公式以编程方式进行.
我刚刚将一个旧的ObjC库移植并更新到Swift.您可以使用它或获取所需的部分代码.在此处获取:https://github.com/marchv/UIScreenExtension.
该库用于UIScreen.main.nativeScale将每英寸像素数(PPI)转换为每英寸点数.
使用Cocoapods安装库,然后导入它:
import UIScreenExtension
Run Code Online (Sandbox Code Playgroud)
然后利用它:
if let pointsPerCentimeter = UIScreen.pointsPerCentimeter {
// code
}
Run Code Online (Sandbox Code Playgroud)
我相信没有公共 API 可以获取 PPI 或屏幕的物理尺寸。
唯一的方法是对设备列表及其物理尺寸和/或 PPI 进行硬编码(并且您可以从 UIDevice 类中获取设备类型)。
顺便提一句。这是一个几乎问同一件事(不同方式)的问题: 标尺应用程序如何在所有设备上保持准确?
| 归档时间: |
|
| 查看次数: |
5502 次 |
| 最近记录: |