UITapGestureRecognizer не реагирует на прикосновение

Я создаю UILabelстроку с атрибутом и назначаю ее заголовку навигационной панели. Он отображается там, где я хочу. Я также хочу прикрепить егоUITapGestureRecognizer, но я не могу сделать функцию, вызываемую в распознавателе. Ниже вы можете увидеть код, который я пробую.

label = [[UILabel alloc] initWithFrame:CGRectZero];
label.backgroundColor = [UIColor clearColor];
label.textColor = [UIColor whiteColor];
label.numberOfLines = 4;

// set different font for title and subtitle
NSMutableAttributedString * string = [[NSMutableAttributedString alloc] initWithString:@"n Title n n"];
//[string addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:1.0] range:NSMakeRange(0,string.length)];

// set line spacing
NSMutableParagraphStyle *paragrahStyle = [[NSMutableParagraphStyle alloc] init];
[paragrahStyle setLineSpacing:-10];
[paragrahStyle setAlignment:NSTextAlignmentCenter];
[string addAttribute:NSParagraphStyleAttributeName value:paragrahStyle range:NSMakeRange(0, [string length])];

label.font = [UIFont fontWithName:@"Avenir-Medium" size:22.0f]; 
self.navigationItem.titleView = label;
label.attributedText = string;
[label sizeToFit];

UITapGestureRecognizer *tapGesture =
[[UITapGestureRecognizer alloc] initWithTarget:self
                                        action:@selector(clickTitleLabel)];
[label addGestureRecognizer:tapGesture];

2 ответа

  1. Шаг-1

    изначально проверить один раз setUserInteractionEnabled:YESили нет

    [label setUserInteractionEnabled:YES];
    

    Шаг-2

    else check once frame and clickable area 
    

    Шаг-3

    добавить необходимое количество нажатий

    tapGesture.numberOfTapsRequired = 1;