我有一个 UIView,它附加了一个 UIPanGestureRecognizer,手势工作正常,只是起点不是平移第一次开始的位置,它通常在 x 和 y 坐标中偏离 5 到 15 个像素。不幸的是,方差不是一致并且似乎与平移运动发生的速度有关。
为了验证触摸是否正确发送,我向子视图添加了 TouchBegan 方法,它接收正确的起始点,但手势在其开始阶段未提供相同的点。下面是我的日志中的一些示例,“行起点”是从手势识别器接收到的第一个点。
touchesBegan got point 617.000000x505.000000
Line start point at 630.000000x504.0000001
touchesBegan got point 403.000000x503.000000
Line start point at 413.000000x504.000000
touchesBegan got point 323.000000x562.000000
Line start point at 341.000000x568.000000
以前有人见过这个问题吗?
关于如何解决这个问题而无需实现全新的 UIGestureRecognizer 有什么想法吗?
您可以使用手势识别器的委托方法检测手势的初始触摸位置
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)