Как добавить UITapGestureRecognizer в UILabel внутри ячейки табличного представления?

Я использую файл NIB для компоновки пользовательской ячейки табличного представления. Эта ячейка имеет метку с выходом под названием lblName. Добавление UITapGestureRecognizer к этой метке никогда не вызывает связанное событие. У меня userInteractionEnabled = YES.

Я предполагаю, что проблема в том, что UILabel находится в TableView и что представление таблицы/ячейки перехватывает нажатия. Могу ли я что-то с этим сделать?

Все, что я хочу сделать, это выполнить какое-то пользовательское действие при нажатии UILabel! Все решения для этого, которые я видел, смешны. Это должно быть легко, используя стандартный набор инструментов. Но явно нет.

Вот код, который я использую:

- (void)tapAction {
    NSLog(@"Tap action");
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib

    UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction)]; 
    [recognizer setNumberOfTapsRequired:1];
    //lblName.userInteractionEnabled = true;  (setting this in Interface Builder)
    [lblName addGestureRecognizer:recognizer];
}
23
задан Bryan 9 April 2012 в 19:59
поделиться