iOS 手势冲突解决思路

贡献者:赵大财
博客:https://my.oschina.net/zhaodacai GitHub:https://github.com/dacaizhao
邮箱: dacai_zhao@163.com  QQ:327532817
=============================

 1:设置优先级

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    TanTableViewCell *cell = [TanTableViewCell cellWithTableView:tableView];
    cell.delegate = self;
    
    MemberModel *model = [self.dataArr objectAtIndex:indexPath.row];
    [cell setData:model];
    
    return cell;
}

+ (instancetype)cellWithTableView:(UITableView *)tableView{
    static NSString *reuseIdentity = @"tanCell";
    
    TanTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentity];
    
    if (cell == nil){
        cell = [[TanTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentity];
        
        //设置手势优先级,避免手势冲突
        UIPanGestureRecognizer *panGes = [tableView.superview.gestureRecognizers objectAtIndex:0];
        [panGes requireGestureRecognizerToFail:cell.leftSwipe];
        [panGes requireGestureRecognizerToFail:cell.rightSwipe];
    }
    return cell;
}

2:可能需要同时2种手势 

//UIGestureRecognizerDelegate  请先继承代理
//保持2个手势同时有效
    @objc func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return true
    }
    

3:很暴力

isUserInteractionEnabled //禁用掉交互事件

 

转载于:https://my.oschina.net/zhaodacai/blog/794838

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值