我想抓住UIGestureRecognizer
的类型。
我可以这样做吗?
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
NSLog(@"Gesture should begin");
if ([gestureRecognizer isMemberOfClass:[UIRotationGestureRecognizer class]])
NSLog(@"rotate");
if ([gestureRecognizer isMemberOfClass:[UIPinchGestureRecognizer class]])
NSLog(@"pinch");
if ([gestureRecognizer isMemberOfClass:[UITapGestureRecognizer class]])
NSLog(@"tap");
if ([gestureRecognizer isMemberOfClass:[UIPanGestureRecognizer class]])
NSLog(@"pan");
if ([gestureRecognizer isMemberOfClass:[UILongPressGestureRecognizer class]])
NSLog(@"long");
if ([gestureRecognizer isMemberOfClass:[UISwipeGestureRecognizer class]])
NSLog(@"swipe");
return NO;
}
我在桌面视图单元格中有一个长触摸手势。 如果我按下单元格,我会收到一个日志:
-[FileObjectView gestureRecognizerShouldBegin:] [Line 45] Gesture should begin
-[FileObjectView gestureRecognizerShouldBegin:] [Line 55] long
我希望它以这种方式工作。
但有时当我滚动表格视图时,我会收到一个日志:
-[FileObjectView gestureRecognizerShouldBegin:] [Line 45] Gesture should begin
这让我觉得我不知道某种姿势。
anybode可以解释一下情况吗?
答案 0 :(得分:1)
我决定以这种方式检查班级名称:
NSLog(@"%@",gestureRecognizer.class);
班级名称为:UIScrollViewPanGestureRecognizer
我在不同的iOS版本上已经多次检查过这个问题。
这件事只发生在iOS 6上。还有一个iOS 6错误?!