我在 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");
    }
}

09-06 11:50