获得UIView的起源与纵横比屏幕大小iOS



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

最新更新