iOS ScrollView嵌套TableView联动滑动的实现方案
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS ScrollView嵌套TableView联动滑动的实现方案相关的知识,希望对你有一定的参考价值。
参考技术A 最近公司项目中要开发一个Scrollview嵌套多个TableView的页面。类似下图微博的这种页面。开发这样的结构会有一个问题就是滑动TableView到边界的时候,由于响应链问题,不会带动Scroll1继续滑动。最开始打算的是通过两个滑动视图的偏移量来设置他们的 scrollEnabled ,切换响应者,以达到两个视图只有一个在滑动的目的。但是这样的话如果滑到顶部边界时,需要抬手再次进行滑动的才可以切换 scrollEnabled 的状态,这种滑动不流畅的效果显然不是我需要的。
后来发现苹果有提供实现多个嵌套的 UIScrollView 同时响应滑动事件的方法。在父视图的ScrollView实现这个方法然后 return YES 即可。
这样上滑时就可以首先固定TableVIew的偏移量,TableVIew滑动到顶部时再允许其滑动,然后固定ScrollVIew的偏移量,下滑同理。
在滑动到边界时,通过通知,也可以根据具体需求调整为通过代理来改变两个视图的 CanScroll 状态,来实现两个视图由谁来滑动的目的。
父视图ScrollVIew的滑动代理方法:
子视图TableVIew的滑动代理方法:
以上是关于iOS ScrollView嵌套TableView联动滑动的实现方案的主要内容,如果未能解决你的问题,请参考以下文章
iOS ScrollView嵌套TableView联动滑动的实现方案
iOS开发中解决UITableView嵌套ScrollView(UICollectionView)的手势冲突
ios监听ScrollView/TableView滚动的正确姿势