Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Handling Touch Event in UILabel and hooking it up to an IBAction

Ok, so I have a UILabel created in interface builder that displays some some default text of "tap to begin".

When the user taps the UILabel I want it to trigger an IBAction method: -(IBAction)next; which updates the text on the label to say something new.
It would be really convenient if this allowed me to simply drag a connection from my method to my label and then select touch up inside, as with a button. but alas, no cigar.

so anyways, I guess my question is, am I going to have to subclass UILabel to get this to work? Or is there some way I can drag a button over the label, but make it 0% opaque. Or is there a simpler solution I'm missing?

like image 341
wfbarksdale Avatar asked Jul 03 '10 00:07

wfbarksdale


1 Answers

Check it out:

UILabel *label = ... label.userInteractionEnabled = YES; UITapGestureRecognizer *tapGesture =       [[UITapGestureRecognizer alloc] initWithTarget:self                                                action:@selector(labelTap)]; [label addGestureRecognizer:tapGesture]; 

The trick is to enable user interaction.

like image 174
Scott Persinger Avatar answered Sep 19 '22 17:09

Scott Persinger