我有一个问题 - iPhone中是否有任何可能使UITapGestureRecognizer仅响应UIImageView的一部分。 Actualy,问题如下 - 有一个带手势识别器的UIImageView添加,这些UIImageView的某些部分被其他View覆盖。当点击这个其他视图时,UIImageView会识别该点按。这个问题怎么解决?
答案 0 :(得分:1)
我不确定我理解你的问题。您是否希望在轻触图像视图的视图时触发手势识别器?如果是这样,我猜你可以将手势识别器添加到重叠视图中。
如果您有两个重叠的视图,并且只想触摸重叠的部分时触摸,我建议将点击手势识别器添加到主视图并检查是否触摸了重叠。
- (void)viewDidLoad
{
[super viewDidLoad];
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureRecognizerTriggered:)];
[self.view addGestureRecognizer:gestureRecognizer];
}
- (void)tapGestureRecognizerTriggered:(UITapGestureRecognizer *)gestureRecognizer
{
CGPoint location = [gestureRecognizer locationInView:self.view];
if (CGRectContainsPoint(self.frontView.frame, location) &&
CGRectContainsPoint(self.backView.frame, location))
{
// Handle touch
}
}
如果要在条件语句的前CGRectContainsPoint(self.backView.frame, location)
处进行触摸,则要处理触摸。