仿轻芒多个tableVIew的Header悬浮

新项目(后面会贴上demo的github地址)需要仿照轻芒的效果,唯一的区别是轻芒的tableVIew是有翻页的规则页面,而我们的项目是不能用翻页的,由于网上资料真的不多,所以只能自己写,具体思路:
1.先确定navigationBarHeader 和 HomeHeadHeight 和 首页tabelView的基础 的高度

#define NavigationTitleViewHeight 64  //顶部titleScrollView的高度
#define HomeHeadHeight (116 * KWIDTH_IPHONE6_SCALE)  //中部titleScrollView的高度
#define BaseHomeTableViewHeight   (SCREEN_HEIGHT - NavigationTitleViewHeight )  //首页tabelView的基础高度

2.设置一个baseTableViewController,将tableView的contentOffset设为CGPointMake(0, -HomeHeadHeight),然后底部设置一个scrollView,contentSize设为CGSizeMake(5 * SCREEN_WIDTH, 0);并且将所有的TableViewController的tableView加上去.

3.自定义NavigationTitleView和CenterTitleHeaderView,由于NavigationTitleView和CenterTitleHeaderView和最底下的scrollVIew要实现实时联动,所以需要在各自的scrollView的 - (void)scrollViewDidScroll:(UIScrollView *)scrollView 代理方法中做一些操作,这里就不废话了.后面会贴代码.

  1. 监听baseTableViewController的 - (void)scrollViewDidScroll:(UIScrollView *)scrollView,若当前tableView的contentofSet的y值>=0时,要使其他tableView的contentOfSet的y值设为0,若当前tableView的contentoffset的y值<= -HomeHeadHeight时,要使其他tableView的contentOfSet的y值设为-HomeHeadHeight,若当前tableView的contentoffset的y值>-HomeHeadHeight && y值<0,则让其他tableView的contentOfSet的y值与当前tableView的contentOffSet相等

大体思路差不多是这样,由于本人文笔比较差,也懒,直接贴上github地址,可以对照着代码看会好点,而且demo最好在真机上跑,在模拟器上有时候怪怪的,在真机上不会,https://github.com/tangtiancheng/qingmangHeader

另外如果需要看其他项目也可以查看我的github地址,里面有我工作做的一部分项目,希望可以帮到各位https://github.com/tangtiancheng

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容