新項目(后面會貼上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