Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IOS: UISwipeGestureRecognizer

I have this code:

UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeHandle:)];
[recognizer setNumberOfTouchesRequired:1];
[n16 addGestureRecognizer:recognizer];
[n17 addGestureRecognizer:recognizer];

- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer{
NSLog(@"SWIPE");
}

How can I know what view happens gesture? views are n16 and n17

like image 347
cyclingIsBetter Avatar asked Sep 03 '26 06:09

cyclingIsBetter


2 Answers

I am not sure if you can register the same UIGestureRecognizer instance to different views, but if you could, I think UIGestureRecognizer.view property is what you are looking for.

http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIGestureRecognizer_Class/Reference/Reference.html#//apple_ref/occ/cl/UIGestureRecognizer

So, you should be able to do something like this. (again, I am not sure if you can attach different UIGestureRecognizer instance to different views...)

- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer{
    if(gestureRecognizer.view == n16)
    {
        // specific operation to n16
    } 
    else if(gestureRecognizer.view == n17)
    {
        // specific operation to n17
    }
}
like image 64
barley Avatar answered Sep 05 '26 23:09

barley


Like this:

- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer {
    NSLog(@"SWIPE");
    UIView *vw = [gestureRecognizer view]; // this is the view that generated the
        // gesture - either n16 or n17
}
like image 39
MusiGenesis Avatar answered Sep 06 '26 00:09

MusiGenesis



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!