Ссылка на кнопку, когда отправителем действия является UIGestureRecognizer - PullRequest
3 голосов
/ 26 июля 2011

У меня есть кнопка с именем myButton, и я дал ей UIGestureRecognizer, чтобы IBAction запускался только при нажатии myButton двумя пальцами:

UIGestureRecognizer  *tapper = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingerTap:)];
[(UITapGestureRecognizer *) tapper setNumberOfTouchesRequired:1];
[newTaskButton addGestureRecognizer:tapper];

До добавления распознавателя жестов я мог использовать sender для ссылки на только что нажатую кнопку, однако теперь sender теперь распознаватель жестов. Мне все еще нужно сослаться на кнопку, которая была нажата ... Есть ли способ сделать это? Простой метод, который возвращает то, что использует распознаватель жестов, может быть? Спасибо!

1 Ответ

16 голосов
/ 26 июля 2011

Класс UIGestureRecognizer имеет свойство view, представляющее представление, к которому в вашем случае относится распознаватель жестов.

- (void)twoFingerTap:(UIGestureRecognizer *)sender {
    UIButton *myButton = (UIButton *)sender.view;
}
...