NOTE: In most cases, it is better to use a
UIButton
instead of making aUILabel
you can tap on. Only use this example, if you are sure, that you don't want to use aUIButton
for some reason.
UITapGestureRecognizer
The key to create a clickable UILabel
is to enable user interaction.
let label = UILabel()
label.userInteractionEnabled = true
let gesture = UITapGestureRecognizer(target: self, action: #selector(labelClicked(_:)))
label.addGestureRecognizer(gesture)
UILabel *label = [[UILabel alloc] init];
[label setUserInteractionEnabled:YES];
UITapGestureRecognizer* gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(labelClicked:)];
[label addGestureRecognizer:gesture];
Instead of using code, you can select the UILabel inside the storyboard and check the option: