带有点击手势的Xcode iOS UIView允许在子视图上输入



所以我有一个主页视图,人们第一次启动应用程序时会看到它,它有几个不同的选项。昨天我添加了一个教程覆盖,所以他们第一次打开应用程序时,我的视图是0.5阿尔法黑色的,并且是全屏的,这个视图有白色文本和指向页面上功能的箭头。我在这个视图中附加了一个敲击手势识别器,它的动作是调用下一个教程屏幕(总共3个)。它们都被隐藏了,应用程序正常运行。这一切都有效,除了即使我的视图是全屏的,选中了"用户交互启用"和手势点击识别器,子视图上的手势/触摸仍然有效。因此,如果我只是在教程中的应用程序上点击一些空白,然后按预期点击手势,循环浏览页面等,就可以了。但是,如果我不小心按下子视图按钮或从子视图中做手势,它会执行操作(带你进入新页面或w/e)

所以,基本上,就我所能说出的视图而言,尽管它位于另一个视图之上,并且在视图上附加了一个敲击手势识别器,但子视图仍然受到挤压,有什么想法吗?

在执行任何操作之前,请检查tap事件视图。。

- (IBAction)yourTapEvent:(UITapGestureRecognizer *)gestureRecognizer
{
UIView *piece = [gestureRecognizer view];
if(piece  == (view on which you have added gesture))
{
//Do your necessary operation
}
}

尝试一下,它将帮助您在其子视图上禁用手势

- (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
}
}
}

最新更新