美文网首页
iOS TableView与View手势冲突问题

iOS TableView与View手势冲突问题

作者: 原味丿丿咖啡Vitas | 来源:发表于2020-04-13 10:35 被阅读0次

    由于给View添加了触摸手势,导致TableView的didSelectRowAtIndexPath方法不触发

    // 添加手势
     UITapGestureRecognizer *tapGestrue = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapGestrueAction:)];
     tapGestrue.delegate = self;
     [self.view addGestureRecognizer:tapGestrue];
    

    原因是我们添加的触摸手势与TableViewCell的点击手势冲突了,解决方法如下

    1.遵守代理< UIGestureRecognizerDelegate >
    2.实现代理方法

    //解决手势与tableView选择冲突问题
    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
        if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
            return NO;
        }
        return YES;
    }
    

    相关文章

      网友评论

          本文标题:iOS TableView与View手势冲突问题

          本文链接:https://www.haomeiwen.com/subject/qnzwmhtx.html