- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 iPhone 6 Plus,并使用以下方法获取 UIView 的边界:
let viewBounds = view.bounds // GIVES 736 x 414 (Points), WHICH IS RIGHT
有什么方法可以获得用于将点转换为像素的乘数(即@3x)。我希望我可以使用:
let scaleFactor = view.contentScaleFactor // GIVES 1
但如您所见,它似乎总是返回 1。我知道我可以使用 preferredMode.size
或 nativeBounds
直接获取屏幕尺寸,但我确信以前也有访问乘数的方法吗?
// WHERE SCALE FACTOR WOULD BE 3
let yRes = viewBounds.height * scaleFactor // 736 x 3 = 2208
let xRes = viewBounds.width * scaleFactor // 414 x 3 = 1242
最佳答案
UIView
Class Reference文档说 contentScaleFactor
属性:
(...) For system views, the value of this property may be
1.0
even on high resolution screens.
因此这不是您要找的。
实际的比例因子可以从主屏幕上读取,这将为您提供 1.0
、2.0
甚至 3.0
:
let scale: CGFloat = UIScreen.main.scale // Swift3, Swift4.x
let scale: CGFloat = UIScreen.mainScreen().scale // Swift 2.x
或
CGFloat _scale = [[UIScreen mainScreen] scale]; // Obj-C
您可以在 UIScreen
Class Reference 中阅读有关 scale
属性的更多信息.
关于ios - 访问内容比例因子/乘数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26634343/
我正在使用 iPhone 6 Plus,并使用以下方法获取 UIView 的边界: let viewBounds = view.bounds // GIVES 736 x 414 (Points),
我正在尝试在 R 的 Quantstrat 包中运行回测策略。该工具是小麦 future ,以美分报价。合约规模为 5000 蒲式耳。因此,我添加了以下代码。 future(symbols,
我正在尝试在 R 的 Quantstrat 包中运行回测策略。该工具是小麦 future ,以美分报价。合约规模为 5000 蒲式耳。因此,我添加了以下代码。 future(symbols,
我是 JavaScript 新手。我想在 Javascript 中使用 prompt() 制作一个乘法器来获取数字 n,这是我们的乘法器,我想将从 1 到 n 的所有数字与 n 数字相乘。示例: 如果
TLDR:我正在寻找一种算法,它可以在知道以下情况的情况下返回可变数字数组的最小可能的最不常见乘数: 其中一个数字 我的数组的大小 数字可能的最小值和最大值 我正在使用音乐应用程序并遇到算法问题:当混
如何为 gluCylinder() 和 gluDisk() 等函数设置纹理坐标偏移和乘数? 因此,如果正常情况下纹理会从点 0 开始,我想将其设置为从点 0.6 或 3.2 等开始。乘数意味着纹理会变
我尝试向后移动文件中的位置,但仅当我移动 512 字节时它才有效,为什么? _file = CreateFile(path, GENERIC_WRITE | GE
我正在尝试以编程方式在 swift 中为乘数设置约束,当我设置值时,它只会给我错误,“无法分配给该表达式的结果”... 我用 IBOutlet 声明了 NSLayoutConstraint,然后设置乘
我是一名优秀的程序员,十分优秀!