zoukankan      html  css  js  c++  java
  • 新浪微博-个人中心页面滚动时导航栏处理

    滚动时导航栏透明度变化,然后滚动到一定距离,导航栏完全出现。

    这里是做法的主要思路:

    1. 整个页面是一个tableView, 然后个人信息部分是一个背景图片,作为tableView的headView。因为UITableView继承自UIScrollView,滚动处理在这个方法里处理

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView{} 

    2. 可以设置3个重要的长度值:

    #define NAVBAR_COLORCHANGE_POINT (IMAGE_HEIGHT - NAV_HEIGHT*2) //滚动到一个临界点,这时判断导航栏出现
    #define IMAGE_HEIGHT 220 //个人信息背景图片
    #define NAV_HEIGHT 64 //导航栏高度

    3. 重写scrollViewDidScroll方法

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView
    {
        CGFloat offsetY = scrollView.contentOffset.y;
        if (offsetY > NAVBAR_COLORCHANGE_POINT)//92
        {
            //NSLog(@"offsetY 临界: %f",offsetY);//93
            CGFloat alpha = (offsetY - NAVBAR_COLORCHANGE_POINT) / NAV_HEIGHT;
           //处理导航栏部分。。。
            self.title = @"wangrui460";
        }
        else
        {
            //处理导航栏部分。。。
            self.title = @"";
        }
    }

    大致思路是这样,因为面试时被问到,所以略微记一下。代码参考的是:Github地址:https://github.com/wangrui460/WRNavigationBar

    此文仅为鄙人学习笔记之用,朋友你来了,如有不明白或者建议又或者想给我指点一二,请私信我。liuw_flexi@163.com/QQ群:582039935. 我的gitHub: (学习代码都在gitHub) https://github.com/nwgdegitHub/
  • 相关阅读:
    DS博客作业03--树
    DS博客作业02--栈和队列
    DS博客作业02--线性表
    c博客06-2019-结构体&文件
    C博客作业05--2019-指针
    C语言博客作业04--数组
    c语言博客作业03--函数
    C语言博客作业02--循环结构
    深入理解Java线程池原理
    Offer快到碗里来——聊聊线程池
  • 原文地址:https://www.cnblogs.com/liuw-flexi/p/7535501.html
Copyright © 2011-2022 走看看