3

我正在调查UIView后拖动。LongPressGesture一些代码使用touchesMoved:,一些代码检查UIGestureRecognizerStateChange。我还是不明白,哪个更好?

4

1 回答 1

3

手册

当手势识别器识别出离散手势时,它会将 state 属性设置为 UIGestureRecognizerStateRecognized。如果手势是连续的,它首先将 state 属性设置为 UIGestureRecognizerStateBegan;然后,对于手势位置的每次更改,它将属性设置(或重置)为 UIGestureRecognizerStateChanged。当手势结束时,它将状态设置为 UIGestureRecognizerStateEnded。如果在任何时候手势识别器意识到这个多点触控序列不是它的手势,它就会将它的状态设置为 UIGestureRecognizerStateFailed。

因此,如果用户触摸屏幕总是会生成 touchMoved 事件,并且如果它处于连续手势的中间,也会导致设置 UIGestureRecognizerStateChanged 状态。

于 2013-01-09T02:50:50.117 回答