我想从一个设备获取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
)