使用子类化UIView
并覆盖touchesBegan:
、touchesMoved:
和touchesEnded:
。多次成功完成此操作,但现在我正在使用支持 3D Touch 的设备,我的动作被它们应该接收的运动取消了。
touchesMoved:
将正确接收强制更改,但如果有强制 + 位置更改,我会收到一个取消的事件。
从tap
进行日志记录
Touches moved, force : 0.62, point : {154.5, 175}
Touches moved, force : 1.40, point : {154.5, 175}
Touches moved, force : 1.98, point : {154.5, 175}
Touches moved, force : 2.13, point : {154.5, 175}
Touches ended
Touches moved, force : 0.58, point : {191, 203}
Touches moved, force : 1.15, point : {191, 203}
Touches moved, force : 1.42, point : {191, 203}
Touches ended
从move
记录
Touches moved, force : 1.57, point : {170, 231}
Touches moved, force : 1.68, point : {170, 231}
Touches moved, force : 1.88, point : {170, 231}
Touches moved, force : 2.12, point : {170, 231}
Touches moved, force : 2.33, point : {170, 231}
Touches moved, force : 2.58, point : {170, 231}
Touches moved, force : 2.85, point : {170.5, 233}
Touches moved, force : 3.23, point : {170.5, 233.5}
Touches moved, force : 3.70, point : {170.5, 234}
Touches moved, force : 4.25, point : {170.5, 234.5}
Touches moved, force : 4.78, point : {170.5, 235}
Touches moved, force : 5.28, point : {170.5, 236}
Touches moved, force : 5.70, point : {170.5, 237}
Touches moved, force : 6.00, point : {171, 239}
Touches cancelled.
Touches moved, force : 0.02, point : {142, 228}
Touches moved, force : 0.08, point : {142, 228}
Touches moved, force : 0.15, point : {142, 228}
...
Touches moved, force : 0.57, point : {142, 228}
Touches moved, force : 0.58, point : {142, 228}
Touches moved, force : 0.63, point : {142, 228}
Touches moved, force : 0.72, point : {142, 228}
Touches moved, force : 0.78, point : {142, 228}
Touches moved, force : 0.85, point : {144, 230.5}
Touches moved, force : 0.93, point : {144.5, 231}
Touches moved, force : 1.02, point : {145, 232}
Touches moved, force : 1.15, point : {146.5, 232.5}
Touches moved, force : 1.33, point : {147.5, 233.5}
Touches moved, force : 1.55, point : {148.5, 234.5}
Touches moved, force : 1.82, point : {150, 236.5}
Touches cancelled.
刚刚发现默认情况下,手势识别器将取消其视图中的其他触摸。设置gesture.cancelsTouchesInView = NO
,一切都解决了。