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

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

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

手势冲突看这里: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,则对应的横向手势无法透传,于是此手势被最上层响应视图吸收,现象即为只允许单向滑动视图。

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Array.from 方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍...
    noni_阅读 1,770评论 0 0
  • 这几天一直在因为一些琐事烦恼着,导致自己心绪不佳,害怕别人的看法,害怕别人眼中的自己是不完美的,但是,也不想让自己...
    一丁目_6531阅读 504评论 1 2
  • 徐雨恒11月份第27天读书打卡,我读的书是《作文小能手》作文起步,我260页读到280页,其中有一篇《小蝌...
    dd1438689c8c阅读 221评论 0 0
  • 今夜,星语星空 作者 / 狼烟诗影 今夜,你会来吗 与你相约,星空星语 没有月亮的夜晚,月黑风高 没有月亮的夜晚,...
    狼烟诗影阅读 512评论 0 5
  • 很多人总觉得自己是为老板打工,总会不由自主地把自己工作结果和质量于工作待遇报酬相匹配。 确实,用心去发现,大多数人...
    钟钟说阅读 193评论 0 1