Я обычно делаю это:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(pushAction)];
[myLabel addGestureRecognizer:tap];
Я не знаю, работает ли он с метками, но тогда я просто делаю прозрачный UIView с тем же прямоугольником и помещаю его сверху.
Хорошо, я проверил, это работает только в UIView, но затем сделайте это:
UIView *tapView = [[UIView alloc] initWithFrame:myButton.frame];
И поместите «tapView» в метод addGestureRecognizer.