我在 xcode 中为屏幕上的某个位置设置动画。
目前它每 0.1 秒移动“1”像素。
这意味着它在视网膜显示器上不是每 .1 秒移动 1 个像素,而是每 .1 秒移动 2 个像素。
我希望它在视网膜显示器上每 0.1 秒移动 1 个像素。有什么办法吗?
有什么方法可以将对象位置设置为视网膜位置或其他什么?
最佳答案
您想以像素为单位移动。 iOS 中的所有坐标均以点为单位。所以你需要将你的点转换为像素。这可以通过以下方式完成:
CGFloat screenScale = [UIScreen mainScreen].scale;
CGFloat ratio = 1.0 / screenScale;
使用 ratio
增加动画。
在非视网膜设备上,ratio
将为 1
点。在当前的 Retina 设备上,ratio
将为 0.5
点。
在制作动画时,将 x 和 y 坐标移动 ratio
点,每次移动一个像素。
关于ios - 将对象放置在标准分辨率无法访问的视网膜像素位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20060449/