Quick question: how do i detect if a tap gesture recognizer is within a subview of the view it is added to? Eg. if i click on an object such as a square that has been added as a subview to a background which a tap gesture recognizer has been added to, how do I detect that it has been tapped?
Share
You can grab the point of the tap off the gesture recognizer when your handler method is called respective to any view you wish using
-locationInView:. Then, use the following method on UIView:- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)eventto get a reference to the actual sub view that was tapped remembering that the point you pass in is in the same coordinate space as the view.Some code to get you started:
For hit testing to work the view needs to have the
userInteractionEnabledproperty set toYES. Many views, such asUILabels have this set toNOby default. So prior to the above: