Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gesture recognizer on button

I'd like to implement a gesture recognizer (swipe action) for a button. The problem is, the buttons are create programmatically and are or aren't existent based on a few conditions. So, I don't know if there are buttons, or how many.

I know I need something like:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    if (touch.view == aButtonView) {
        //get the button's tag
    }
}

Of course, the if-statement should return Yes when any button view is pressed...

Anyone has any idea on what the word aButtonView should be? Or if it's even possible? Thanks in advance.

like image 763
Joetjah Avatar asked Apr 10 '26 13:04

Joetjah


1 Answers

You should think about using UISwipeGestureRecognizer instances. Attach the gesture recognizer to the button objects -

UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self
                                                                            action:@selector(handleSwipe:)];
swipe.direction = UISwipeGestureRecognizerDirectionUp;
[button addGestureRecognizer:swipe];
[swipe release];

and in handleSwipe:

- (void) handleSwipe:(UISwipeGestureRecognizer *)swipe {
    NSInteger tag = swipe.view.tag;
}


it should be if ( [gestureRecognizer.view isKindOfClass:[UIButton class]] ) {
like image 77
Deepak Danduprolu Avatar answered Apr 13 '26 03:04

Deepak Danduprolu