美文网首页iOS Developer
仿轻芒多个tableVIew的Header悬浮

仿轻芒多个tableVIew的Header悬浮

作者: 老骚鹅 | 来源:发表于2017-04-27 14:42 被阅读227次

    新项目(后面会贴上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

    相关文章

      网友评论

        本文标题:仿轻芒多个tableVIew的Header悬浮

        本文链接:https://www.haomeiwen.com/subject/dcogzttx.html