所以我已经实现了1指长按手势识别器,但识别器似乎总是缺少UIGestureRecognizerStateBegan状态...如果我长时间按住w/o移动手指并抬起,我会得到StateEnded调试消息。 如果我长按并移动手指然后抬起,我会得到StateChanged和StateEnded调试消息。 但我从来没有见过StateBegan。UILongPressGestureRecognizer缺少UIGestureRecognizerStateBegan状态!
UIPanGestureRecognizer没有这个问题 - Pan从开始 - >改变 - >结束获取所有正确的手势状态。
- (void)handleLongPress:(UILongPressGestureRecognizer *)recognizer {
CGPoint location = [recognizer locationInView:self];
switch (recognizer.state) {
case UIGestureRecognizerStateBegan:
NSLog(@"!!!!handleLongPress: StateBegan !!!!!");
break;
case UIGestureRecognizerStateChanged:
NSLog(@"!!!!handleLongPress: StateChanged !!!!!");
break;
case UIGestureRecognizerStateEnded:
NSLog(@"!!!!handleLongPress: StateEnded !!!!!");
break;
default:
break;
}
}
你的代码似乎对我来说工作得很好。你是否在你的龙头和平底手势识别器之间设置了任何类型的依赖关系,或者你在该视图上是否还有其他识别器? – 2010-07-27 02:10:05
我的任何手势识别器之间没有依赖关系。是的,我对这个观点有几个认识者。我被难住了...... :( – annie 2010-07-27 02:39:48