I would like to catch the type of UIGestureRecognizer.
Am I allowed to do it this way?
- (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;
}
I have a long touch gesture in table view cell.
If I press the cell I receive a log:
-[FileObjectView gestureRecognizerShouldBegin:] [Line 45] Gesture should begin
-[FileObjectView gestureRecognizerShouldBegin:] [Line 55] long
And I want it to work this way.
But sometimes while I scroll my table view I receive a log:
-[FileObjectView gestureRecognizerShouldBegin:] [Line 45] Gesture should begin
It makes me think that I’m not aware of some type of gesture.
Can anybode explain the situation?
I’ve decided to check the class name this way:
Class name is:
UIScrollViewPanGestureRecognizerI have checked this issue a lot of times on differen iOS versions.
This thing happens only on iOS 6. One more iOS 6 bug?!