上海快风信息科技有限公司程序员

简书的滑动悬停效果

2017-11-16  本文已影响208人  码工人生
2017-11-16 17_10_45.gif

最近,浏览简书的时候,发现简书iOS客户端的个人主页,有这种滑动悬停的效果,自己也想动手实现下。下面是我的实现效果:


2.gif 3.gif
整个代码实现过程不复杂,复杂的是实现思路。如何实现推上去的效果,和实现tab分页控件的悬停效果是重点。 11864689-97DB-47C9-8281-EE97E9E40CD4.png
以下是实现思路:
一.分页Tab控件的滑动悬停效果:
这部分当时想自定义个控件来实现,一直没有找到合适的方法。后来网上看到,有人说在顶部放个大小一样的Tab分页控件先隐藏,当tabview滑动到顶部时,滑动的隐藏,原来隐藏的再出现,这样也会有问题。后来我决定这部分能悬停的设置为tabview的sectionHeaser,tableview设置为plain就可以实现悬停。

二.顶部导航栏被顶上去的效果:
以前做过的项目,用系统的导航栏,被坑过很多次。这次索性不用系统的导航栏,直接用和导航栏一样高度的view充当假的导航栏。然后在tableview的UIScrollviewDelegate代理方法里,根据便宜量,改变导航栏view的transform。这个地方刚开始是改变transform的height,后来发现有问题,就改为改变transform的y。
三.底部可以横向滑动的Tab和三个tableView:
分页Tab是作为tableview的sectionHeader,然后它本身底层是个scrollview,上面放了三个Button。下面其实是一个很大的cell,cell里放了一个scrollview,sacrollview里又放了三个tableview。sectionHeader里的scrollview和cell里的scrollview实现滑动联动。

这是整体结构图: B952DE38-7439-485A-9884-401A722F94C2.png

Demo地址

如有不对或者有待完善的地方,或者更好的实现思路,欢迎大家留言指正。

上一篇 下一篇

猜你喜欢

热点阅读