我正在使用静态坐标在 View 上添加图像,并且它在 iPhone 6 和 8 上的相同位置显示,但是当我在 iPhone XR 中运行时,图像位置发生了变化,这里是我的代码
var xCo = 166.5
var yCo = 328.0
let imageView = UIImageView()
imageView.image = #imageLiteral(resourceName: "ic_Pin")
imageView.frame = CGRect(x: xCo, y: yCo, width: 22, height: 22)
view.addSubview(imageView)
所以如何在所有设备上设置相同的图像位置请帮助我
最佳答案
它出现在不同地方的原因是因为safe area由 X+ 设备引入。要正确设置 Y 坐标,您需要考虑此插图。现在,由于您是手动定位 View ,因此您还需要手动计算安全区域插入。
top inset可以通过获取状态栏高度来实现:
UIApplication.shared.statusBarFrame.height
或者您可以直接使用 safeAreaInsets
并计算所需属性的偏移量:
view.safeAreaInsets.bottom
view.safeAreaInsets.top
关于ios - x 和 y 位置因不同的设备而异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58427111/