美文网首页
对于OC的嵌套滑动视图一个坑的记录

对于OC的嵌套滑动视图一个坑的记录

作者: 深海时代 | 来源:发表于2019-09-25 15:19 被阅读0次

    嵌套视图的核心是处理滑动临界条件,协调手势冲突。

    临界条件比较麻烦,但是不是技术难点。

    手势冲突看这里:https://www.jianshu.com/p/88e2b5694765

    我只说一个方法:

    -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;

    这个方法是处理手势冲突用的:在需要接收上层手势的下层视图打开,下层视图与其点击区域的所有子视图就会同时响应上层的所有手势,若关闭,则手势依然于第一个响应视图处响应而不传递。上层视图不需要做额外处理。otherGestureRecognizer.view表示传入手势的视图,即上层可以响应的对应传入视图,通过对此View的判断来决定是否允许此手势透传。

    举个例子,我的tableView1.Sub->scrollView1,scrollView1.sub->tableView2;

    我在tableView1打开此方法,所有手势允许透传,tableView1、scrollView1、tableView2会同时响应他们可以响应的手势;

    此时在tableView1的此方法处判断响应view为scrollView时返回false,则对应的横向手势无法透传,于是此手势被最上层响应视图吸收,现象即为只允许单向滑动视图。

    个人观点,未能系统验证,如有疏漏,感谢指正。

    相关文章

      网友评论

          本文标题:对于OC的嵌套滑动视图一个坑的记录

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