Распознаватель жестов на кнопке - PullRequest
3 голосов
/ 26 мая 2011

Я хотел бы реализовать средство распознавания жестов (действие смахивания) для кнопки.Проблема в том, что кнопки создаются программно и существуют или не существуют в зависимости от нескольких условий.Итак, я не знаю, есть ли кнопки или сколько.

Я знаю, что мне нужно что-то вроде:

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

Конечно, оператор if должен возвращать Да при нажатии любой кнопки ...

У любогоИдея о том, что должно быть слово aButtonView?Или если это вообще возможно?Заранее спасибо.

1 Ответ

8 голосов
/ 26 мая 2011

Вам следует подумать об использовании UISwipeGestureRecognizer экземпляров. Прикрепить распознаватель жестов к объектам кнопки -

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

и в handleSwipe:

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


должно быть if ( [gestureRecognizer.view isKindOfClass:[UIButton class]] ) {
...