I have a UIView subclass (CustomView
for purposes of this question) that has its own handling of all touches
events (Began, Moved, Ended, Cancelled
you have to override canBecomeFirstResponder
to return YES otherwise becomeFirstResponder
does nothing. This is already done on UIControl
s, but not on UIView
s
Just use hitTest:withEvent: to figure out what view "should" be receiving the event, then forward on the event to the appropriate view. You might have to do a little bit of dancing around to intercept events before they go to the button, but this is what hitTest:withEvent: was made for.