我在 View Controller 中有一个UIImageView
。是否可以使 ImageView 的某些区域可轻敲?
示例:我有一张 map 的图像。仅使POI可被点击。不是整个形象。这可能吗?
最佳答案
您可以使用 handleGesture 方法。首先,您需要创建一个接收触摸的位置,并且必须将其与委托(delegate)方法中的触摸位置进行比较,如下所示:
CGRect locationRect;
在viewdidload
locationRect = CGRectMake(CREATE A FRAME HERE);
接下来的委托(delegate)方法
- (void)handleGesture:(UIGestureRecognizer *)gestureRecognizer {
CGPoint p = [gestureRecognizer locationInView:self.view];
if (CGRectContainsPoint(locationRect, p)) {
NSLog(@"it's inside");
} else {
NSLog(@"it's outside");
}
}