如何防止手势识别器拦截儿童的信息

时间:2014-03-20 06:47:45

标签: ios uigesturerecognizer

我有一个包含表格视图的UIview。

我希望用户能够在表格视图中选择项目,并且我希望能够在表格视图之外的父视图中识别点击。

如果我向UIView添加了Tab Gesture Recognizer,则用户无法在表格视图中选择项目。

如何完成这项任务?

2 个答案:

答案 0 :(得分:1)

在这种情况下,您可以在视图中添加手势,如果在桌面视图上发生触摸,您可以取消手势回拨方法。

1)将TAG设置为您的tableview。 self.tableView.tag = TAG;

2)现在,如果在桌面视图上触摸,则取消手势,如下所示

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
     id touchView= touch.view;
     if ([touchView isKindOfClass:[UITableView class]] || [touchView isKindOfClass:[UITableViewCell class]] )
    {

        if ( ((UIView*)touchView).tag == TAG) 
            return NO;
     }
     return YES;
}

答案 1 :(得分:0)

对于那些如何使用@IBAction方法。在Interface Builder中,在“属性”检查器中点击“手势识别器”,然后取消选中“#34;取消视图中的触摸"。