Это зависит от того, хотите ли вы обрабатывать нажатие в вашем пользовательском объекте просмотра или в контроллере представления.
Если в представлении добавить это к init
или другому подходящему месту:
UITapGestureRecognizer* tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[self addGestureRecognizer:tapRecognizer];
[tapRecognizer release];
Если в контроллере вида добавить это в viewDidLoad
(или в другом правильном месте):
UITapGestureRecognizer* tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[yourCustomView addGestureRecognizer:tapRecognizer];
[tapRecognizer release];
обработчик тот же:
- (void)handleTap:(UITapGestureRecognizer*)recognizer
{
// Do Your thing.
if (recognizer.state == UIGestureRecognizerStateEnded)
{
}
}
Посмотрите на пример SimpleGestureRecognizer , и вы должны получить довольно хорошую идею.
---- Обновлено 01.10.2012 ----
Для тех, кто любит использовать раскадровку / перо, это очень просто!
Откройте раскадровку / перо.
Перетащите нужный тип распознавателя из библиотеки объектов на требуемый элемент пользовательского интерфейса.
Щелкните правой кнопкой мыши по объекту распознавателя, затем подключите его selector
к IBAction в владельце файла (обычно это UIViewController.) Если вам нужно, также подключите делегат.
Готово!