我想从一台设备获取UIView原始点并将其保存到服务器。在其他设备上,我想在相同的原点显示UIView。问题出在屏幕尺寸上。
假设我在iPhone 11中获得UIView位置并将其保存在服务器上。现在,我从iPhone 6s设备上的服务器获取了保存的位置,并在该位置上显示了UIView。由于屏幕尺寸不同,两个设备上的UIView位置也不相同。
有什么解决方案吗?是否有任何方法可以获取适合所有屏幕尺寸的屏幕尺寸的原点长宽比?
第一台设备
let yourPositionOnView: CGPoint = ...
let screenPosition = yourView.convert(yourPositionOnView, to: UIScreen.main)
let relativePosition = CGPoint(
x: screenPosition.x / UIScreen.main.bounds.width,
y: screenPosition.y / UIScreen.main.bounds.height
)
第二设备
let screenPosition = CGPoint(
x: relativePosition.x * UIScreen.main.bounds.width,
y: relativePosition.y * UIScreen.main.bounds.height
)