美文网首页
iOS 关于单击手势与cell点击冲突的解决方案

iOS 关于单击手势与cell点击冲突的解决方案

作者: Cary9396 | 来源:发表于2019-07-22 18:03 被阅读0次

    问题展示:

    view上添加tableView,给view添加单击手势,点击cell却走的是手势方法.(如何让点击cell时手势方法不响应呢?)

    解决方案:

    OC代码:

     UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapClick)];
       tap.delegate=self;   
       [self.view addGestureRecognizer:tap];
    
       #pragma mark-手势代理,解决和tableview点击发生的冲突
       -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
          if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {//判断如果点击的是tableView的cell,就把手势给关闭了
             return NO;//关闭手势
          }//否则手势存在
          return YES;
        }
    

    swift代码:

            let tap = UITapGestureRecognizer(target: self, action: #selector(removeView))
            self.addGestureRecognizer(tap)
            tap.delegate = self
    
        func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
            
            if String(describing: touch.view?.classForCoder) == "UITableViewCellContentView" {
               return false
            } 
           else {
               return true
            }
        }
    

    相关文章

      网友评论

          本文标题:iOS 关于单击手势与cell点击冲突的解决方案

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