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

时间:2015-04-23 04:34:28

标签: ios objective-c iphone xcode uiview

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

所以基本上我可以告诉我的观点,尽管在另一个上面并且在视图中附加了一个水龙头手势识别器,子视图仍然受到压力,任何想法?

2 个答案:

答案 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
            }
        }
    }