仿轻芒多个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 代理方法中做一些操作,这里就不废话了.后面会贴代码.
- 监听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