美文网首页
iOS----手势冲突

iOS----手势冲突

作者: iOS程序媛ing | 来源:发表于2020-11-18 10:49 被阅读0次

项目中我们经常会用到弹框,如京东客服的订单功能,底部一个半透明view,view上添加一个tableview。点击tableviewcell发送订单消息,点击底部半透明view,回收弹框。


弹框

但是如果给view添加tap事件后,我们会发现cell的点击事件没有相应。这是因为tap点击事件与cell点击事件发生冲突。我们需要给tap添加代理,遵循协议。并且在协议方法中判断,当前点击的是哪个控件,如果是cell就返回no,如果是底部view就返回yes

//遵循协议
@interface MJConversationPopView ()<UIGestureRecognizerDelegate>
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(close)];
//设置代理
     tap.delegate = self;
     [self addGestureRecognizer:tap];
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    // 点击了tableViewCell,view的类名为UITableViewCell,则不接收Touch点击事件
    if ([touch.view isKindOfClass:[UITableViewCell class]]) {
        return NO;
    }
    return YES;
}

相关文章

  • iOS----手势冲突

    项目中我们经常会用到弹框,如京东客服的订单功能,底部一个半透明view,view上添加一个tableview。点击...

  • iOS手势与响应者链

    这篇文章侧重于讲解手势识别、手势冲突、以及手势与响应链的关系。在处理多个手势识别场景,很容易出现手势冲突的问题,比...

  • 手势冲突

    http://blog.csdn.net/zwl492454828/article/details/5217425...

  • 手势&冲突

  • 手势冲突

  • 手势冲突

    是否允许多个手势识别器同时有效 Simultaneously : 同时地 消除两个手势之间的影响

  • 手势冲突

    1、在父视图添加UITapGestureRecognizer手势,会导致子视图的UITableView或者UICo...

  • 响应链与手势

    手势冲突与响应链的关系。手势优先级更高。

  • iOS 常见问题的整理

    一、事件冲突问题解决步骤(手势冲突为例): 1. 定位问题: 手势冲突 2.基本知识:掌握事件的传递机制 3. ...

  • 手势的使用及场景模拟

    0x01 手势冲突 手势的冲突有两种情况: 是指同一个视图,添加了多个手势在视图层级上添加了相同的手势: 子视图有...

网友评论

      本文标题:iOS----手势冲突

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