所以我有一个人们在首次启动应用程序时看到的主页视图,它有几个不同的选项。昨天我添加了一个教程覆盖,所以他们第一次打开应用程序我有一个0.5 alpha黑色的视图,并且在另一个视图上全屏,此视图有白色文本和箭头指向页面上的功能。我在此视图中附加了一个轻击手势识别器,其操作是调用下一个教程屏幕(总共3个)。后面的所有内容都被隐藏,应用程序正常运行。这一切都有效,除非我的视图是全屏,选中用户交互并且手势点击识别器,子视图上的手势/触摸仍然有效。因此,如果我只是点击应用程序上的一些空格,教程和点击手势按预期工作,循环我浏览页面等工作。但是,如果我不小心按下子视图按钮或从子视图执行手势,它将执行操作(带您到新页面或w / e)
所以基本上我可以告诉我的观点,尽管在另一个上面并且在视图中附加了一个水龙头手势识别器,子视图仍然受到压力,任何想法?
答案 0 :(得分:1)
在执行任何操作之前检查点击事件视图..
- (IBAction)yourTapEvent:(UITapGestureRecognizer *)gestureRecognizer
{
UIView *piece = [gestureRecognizer view];
if(piece == (view on which you have added gesture))
{
//Do your necessary operation
}
}
答案 1 :(得分:0)
尝试此操作可以帮助您在其子视图上禁用手势
- (void)tapAction:(UITapGestureRecognizer *) gestureRecognizer{
UIView *v = [gestureRecognizer view];// Guesture added view
NSArray *temp = [self.view subviews];
for (int i = 0; i<temp.count; i++) {
if([temp objectAtIndex:i]== v){
// Do your swipe tap action here
}
}
}