ios scrollview嵌套嵌套tableview同向滑动的示例同向滑动的示例
我讨论的问题是嵌套同向滑动,能避免尽量避免。最好用一个tableview实现。一个tableview不够用了再嵌套,适用复杂场
景。
首先我说下不适用的,免得大家浪费时间。
1.不适用上下拉刷新加载更多的页面。
2.不适用点击cell获取点击事件的页面,可以加入button点击获取事件。
官方文档说尽量不要进行两个竖直或两个水平方向滑动的视图嵌套。因为这个时候机器不知道用户要让哪个滑动,但在我们这
个神奇的国度,项目中经常出现这样的需求,产品经理总爱这样做,andriod那边是比较容易实现的,ios这边十分复杂,我研
究了一天,写了个demo,可以勉强实现,我的项目中就有上下拉,因此我就硬嵌套了,用户滑动的时候不能准确地按自己的
意愿滑动scrollview、tableview。就这样了,这个没有解决方案的。
我做到的效果是手点在哪个视图上,哪个视图就滚动,当小的scroll滚到到自己的临界值就滚动大的scroll,当大的也到临界值
就不滚动。顺便实现了一个伪悬浮的secView如果没有那个悬浮的就把那个悬浮高度floatViewHeight置0。剩下的根据页面调
整frame即可通用。
这是效果图
下面我说一下在没有以上两点不适用的页面的实现的思路:
Scrollview在控制器的view上,是一个大的视图,tablewview在ScrollView上。根据拖拽手势配合,先判断首先触摸点在哪个
view上,再对哪个view滑动操作。解决手势和button点击冲突。下面看代码,注释十分清晰。github有demo,欢迎阅读:
https://github.com/qingyindaoren/ScrollInsetTable.git
核心代码如下:
#import "ViewController.h"
评论0