美文网首页
fix手势冲突

fix手势冲突

作者: limbo_lyn | 来源:发表于2018-12-05 16:10 被阅读0次

    情景

    UIScrollview里包含一个UITableview,UITableview的cell是横向滑动的UICollectionView,因为是弹出模态的UIViewContoller,

    代码简单的增加了个向右滑动的手势触发关闭手势。

    问题:

    左右滑动UICollectionView的时候会触发手势,触发关闭手势。

    解决方案:

    第一个能想到的方法当然就是在函数中

    func gestureRecognizer(_gestureRecognizer:UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer:UIGestureRecognizer) ->Bool

    返回false,这样就只会响应一个手势,另一个手势会被自动忽略

    所以第一时间在UITableViewCell中,判断到otherGestureRecognizer是需要忽略的手势,返回false,看似一切完美,但是bug依然存在。

    原因是, 需要忽略的是返回手势的事件,因此你需要在添加返回手势的UIView或者UIViewController中,重写gestureRecognizer方法,并且检测到otherGestureRecognizer是由UICollectionView触发的时候,返回false,这样返回手势的方法就会被忽略

    完整代码:

    注意,是在被忽略的手势的UIView或者UIViewController中重写该方法

    相关文章

      网友评论

          本文标题:fix手势冲突

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