Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UILabel: Using the userInteractionEnabled method on a label

I am wondering if anyone has used the userInteractionEnabled method on a UILabel to allow the label to act like a button (or just to fire off a method). Any help would be greatly appreciated. Cheers!

Update (4/30/09 @1:07pm) Clarification: I have a standard InfoButton and next to it I want to place a label with the text "settings" and I would like the label to function like the button (which flips over to a settings screen. So, basically I need to tie the already defined showSettinsView to the "infoLabel" label; a user clicks on the infoButton or infoLabel and the method fires off.

The infoButton is already working and is using an IBAction to trigger the method. I would like to know how to wire up the label to implement the same method. That is all. Cheers!

like image 234
Kevin Bomberry Avatar asked Apr 30 '09 19:04

Kevin Bomberry


1 Answers

userInteractionEnabled is not a method but a property. But I think you will want to set this to YES to allow events to get through to the UIView superview.

What you might want to do is override the touchesBegan:withEvent: method of the UIView that contains your UIButton and UILabel subviews.

Within this method, test if any of the UITouch touches fall inside the bounds of the UILabel.

That is, does the CGPoint element [touch locationInView] intersect with with the CGRect element [infoLabel bounds]? Look into the function CGRectContainsPoint to run this test.

If so, then fire off an NSNotification that calls the same IBAction selector as the UIButton.

like image 149
Alex Reynolds Avatar answered Sep 19 '22 20:09

Alex Reynolds