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!
userInteractionEnabledis not a method but a property. But I think you will want to set this toYESto allow events to get through to theUIViewsuperview.What you might want to do is override the
touchesBegan:withEvent:method of theUIViewthat contains yourUIButtonandUILabelsubviews.Within this method, test if any of the
UITouchtouches fall inside the bounds of theUILabel.That is, does the
CGPointelement[touch locationInView]intersect with with theCGRectelement[infoLabel bounds]? Look into the functionCGRectContainsPointto run this test.If so, then fire off an
NSNotificationthat calls the sameIBActionselector as theUIButton.