binsnoel
binsnoel

Reputation: 276

UIGestureRecognizer Determine Tap

I followed this answer on SO: https://stackoverflow.com/a/12481177/2575115

but I get an error "Expected Expression". What am I doing wrong?

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch;
{
    BOOL shouldReceiveTouch = YES;

    if (gestureRecognizer == tap) { //Expected Expression
        shouldReceiveTouch = (touch.view == _shownImage);
    }
    return shouldReceiveTouch;
}

Upvotes: 0

Views: 255

Answers (2)

Dharmbir Singh
Dharmbir Singh

Reputation: 17535

You have to check if your tap(UITapGestureRecognizer) gesture is a member of UIGestureRecognizer by isMemberOfClass.

-(BOOL) gestureRecognizer: (UIGestureRecognize *) gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer: (UIGestureRecognizer *) otherGestureRecognizer {
    if ([gestureRecognizer isMemberOfClass: [tap class]]) {// please check this one
    }
   }

Upvotes: 1

Umair Afzal
Umair Afzal

Reputation: 5039

you can check the UIGestureRecognizer class

-(BOOL) gestureRecognizer: (UIGestureRecognize *) gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer: (UIGestureRecognizer *) otherGestureRecognizer {
if ([gestureRecognizer isMemberOfClass: [UITapGestureRecognizer class]]) {

shouldReceiveTouch = (touch.view == _shownImage);    

     }
}

Upvotes: 1

Related Questions