我正在使用 UIPanGestureRecognizer 来检测和计算手指的移动。我的问题是触发了以下事件序列:
状态开始 状态改变 状态改变 状态改变 状态结束
但有时同一用户交互只有这个序列
状态改变 状态改变 状态改变
- (void)viewDidLoad
{
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panHandler:)];
panRecognizer.minimumNumberOfTouches = 1;
panRecognizer.maximumNumberOfTouches = 1;
[panRecognizer setDelaysTouchesBegan:NO];
[panRecognizer setDelaysTouchesEnded:NO];
[self.view addGestureRecognizer:panRecognizer];
}
-(void)panHandler:(UIPanGestureRecognizer *)recognizer {
//gesture hanlding here
if(recognizer.state == UIGestureRecognizerStateEnded){
// Do smth here
}
}
最佳答案
因为可以取消。 来自文档:
Possible ----> Began ----> [Changed] ----> Cancelled
Possible ----> Began ----> [Changed] ----> Ended
关于ios - UIPanGestureRecognizer : Why there is no StateEnded every time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25016983/