ios - 视网膜屏幕上的 GestureRecognizer

标签 ios gesture retina-display

视网膜设备每侧的像素数是非视网膜设备的两倍。
使用 UIPanGestureRecognizer 时,我可以通过调用 - (CGPoint)velocityInView:(UIView *)view 在指定 View 的坐标系中以像素/秒为单位获取平移速度,但我是否需要将返回值除以 2 以获得正确的速度?我已经阅读了苹果的文档,开发人员不关心 x2 问题。但是 UIPanGestureRecognizer.h 中的评论让我感到困惑。

最佳答案

不,它在 points 中返回它每秒,这不是每秒像素。

苹果选择了points作为一个单元,因为它不依赖于 pixel densitiy的屏幕。这意味着 3G 和 iPhone 4 使用此手势识别器具有完全相同的结果。 iPhone5 有一个更大的屏幕,但这并没有改变你对识别器返回的内容所做的任何事情。

因此,您的回答是:不,您不应该将其除以 2,苹果正在处理他们的 API。

关于ios - 视网膜屏幕上的 GestureRecognizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12724028/

相关文章:

ios - 如何检测应用程序是否从 xcode 启动?

ios - Swift3 将字符串值转换为十六进制字符串

iOS - 视网膜显示 Assets 不工作?

ios - 我的 View 只有 320 像素,我在 iPhone 5 上看到分辨率很差的图像?

ios - swift:motionEnded 不触发或真实设备

objective-c - 处理图像时出现 Retina 显示问题

ios - 识别 UIViewController 上的 View

ios - 播放使用 NSDataAsset (Xcode xcassets) 存储的视频

jquery - 可缩放区域,但如果没有缩放手势则滑动

通过 Imageview 进行 Android 手势检测