我尝试将水龙头添加到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
中。使用locationInView
和CGRectContainsPoint
。 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/