
最近公司项目中要开发一个Scrollview嵌套多个TableView的页面。类似下图微博的这种页面。
开发这样的结构会有一个问题就是滑动TableView到边界的时候,由于响应链问题,不会带动Scroll1继续滑动。最开始打算的是通过两个滑动视图的偏移量来设置他们的 scrollEnabled ,切换响应者,以达到两个视图只有一个在滑动的目的。但是这样的话如果滑到顶部边界时,需要抬手再次进行滑动的才可以切换 scrollEnabled 的状态,这种滑动不流畅的效果显然不是我需要的。
后来发现苹果有提供实现多个嵌套的 UIScrollView 同时响应滑动事件的方法。在父视图的ScrollView实现这个方法然后 return YES 即可。
这样上滑时就可以首先固定TableVIew的偏移量,TableVIew滑动到顶部时再允许其滑动,然后固定ScrollVIew的偏移量,下滑同理。
在滑动到边界时,通过通知,也可以根据具体需求调整为通过代理来改变两个视图的 CanScroll 状态,来实现两个视图由谁来滑动的目的。
父视图ScrollVIew的滑动代理方法:
子视图TableVIew的滑动代理方法:
scroll View上添加了一个子视图,子视图定义了touch move的 *** 作。 当手指在子视图上滑动时(touch move)如何能够让程序立即响应该事件,而不是去滚动scroll view 看开发文档上说,当手指在content上停留一段时间,并没有移动的话,才会响应cont。
以上就是关于iOS ScrollView嵌套TableView联动滑动的实现方案全部的内容,包括:iOS ScrollView嵌套TableView联动滑动的实现方案、微信小程序怎么监听scrollview滑动结束、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)