iOS的一种多tableview左右滚动,以及tableview上下滚动悬挂效果(嵌套scrollview布局)

项目中碰到了这种效果,以qq为例

   

该页面需要实现的效果是好友,群聊,设备,通讯录以及公众号五个tab能实现左右滚动,并且还需要能够从新朋友开始上下滑动。并最终将前面的五个tab悬挂在顶部。


在网上查了一下,找到了两种比较合适的解决方案。

1.


这种页面布局比较容易想到,也确实能够实现所需要的效果,但是需要解决的问题就是上下的两个tableview之间的手势冲突,保证滑动绿色的第一个tableview的时候能够让底下的那个tableview也能同时滑动

具体实现步骤可以参考一下该地址:http://www.shunfski.com/2017/06/07/FSScrollViewNestTableView/,该案例的控制逻辑相对简单。但是这种布局的实现效果有一些缺点。比如上下滑动的时候无法实现非常流畅的滚动,又比如在底部tableview的上半部分滑动tableview的时候由于没有滑动绿色部分的tableview导致绿色部分的tableview滑到顶部的时候突然停下了。


2.


目前来看这种布局能够解决第一种布局产生的不足,该布局中,view和scrollview位于同一视图层级而并非父子关系,并且需要设置tableview的contentinsets来使绿色的tableview顶部的初始位置位于黑色的view下方,之后绿色tableview上下移动的时候需要保证黑色view和绿色tableview的contentoffset移动距离保持一致。

至于具体的代码实现,难点不多这里就省了。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值