Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Custom UIButton + subviews = no events

Basically I have a custom UIButton and this custom button contains subviews. If I add those subviews to my UIButton, then the button stops responding to event changes. I.e if I tap on it it doesn't respond to the selector. I have everything set as userInteractionEnabled. I also tried adding touchbegan and this is working. If I remove those subviews, the UIButton works again.

How Do I get the tap events from the button?

like image 815
user281300 Avatar asked Apr 27 '10 21:04

user281300


1 Answers

The subviews should have userInteractionEnabled set to NO. What is happening here is that the subviews are getting the touch events instead of the UIButton. If that doesn't work another option is to override hitTest:withEvent: in your custom UIButton so that it always returns itself and does not ask its subviews if they should handle the event. See the UIView docs for more details.

like image 85
Jason Jenkins Avatar answered Oct 04 '22 01:10

Jason Jenkins