In a subclass of UIView I have this:
-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
if(touch occurred in a subview){
return YES;
}
return NO;
}
What can I put in the if statement? I want to detect if a touch occurred in a subview, regardless of whether or not it lies within the frame of the UIView.
Try that:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
return CGRectContainsPoint(subview.frame, point);
}
If you want to return YES if the touch is inside the view where you implement this method, use this code: (in case you want to add gesture recognizers to a subview that is located outside the container's bounds)
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
if ([super pointInside:point withEvent:event])
{
return YES;
}
else
{
return CGRectContainsPoint(subview.frame, point);
}
}