我尝试将水龙头添加到UIImageView中,如下所示,但它不起作用! _img_compass_text_background UIImageView

我发现另一个视图覆盖了我的视图,但是大多数顶视图是完全透明的,如何强制水龙头穿过它?

换句话说,如何禁用使用水龙头的视图?

UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(locationNameTapped)];
tapGestureRecognizer.numberOfTapsRequired = 1;
_img_compass_text_background.userInteractionEnabled=YES;
[_img_compass_text_background addGestureRecognizer:tapGestureRecognizer];

最佳答案

您说您的imageView顶部还有另一个view吗?

在这种情况下,您可以执行许多操作:

  • 在重叠的tapGesture上添加view,并在目标方法中,检查攻丝点是否包含在rect框架的imageView中。使用locationInViewCGRectContainsPoint
  • 使用touchesBegan/Moved/Ended并使用imageView检查containsPoint框架是否包含触摸点。

  • 编辑:

    使用类似下面的目标方法,将点击手势添加到您的重叠视图中:
    - (void) targetMethod:(UITapGestureRecogniser*)gesture{
    
        CGPoint tapPoint = [gesture locationInView:(the view that contains both the views)];
    
        if (CGRectContainsPoint(imageView.frame, tapPoint)){
    
            //your code
    
        }
    
    }
    

    关于iphone - 向UIImageView添加触摸不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19051048/

    10-16 17:48
    查看更多