• iOS 滑动TableView控制导航栏隐藏与显示


    @interface BPArticleViewController ()<UITableViewDelegate,UITableViewDataSource>{

        CGFloat beginContentY;          //开始滑动的位置

        CGFloat endContentY;            //结束滑动的位置

        CGFloat sectionHeaderHeight;

    }

    - (void)viewDidLoad {

        [super viewDidLoad];

         sectionHeaderHeight = 40;

    }

    #pragma mark 下拉导航栏隐藏

    // 当开始滚动视图时,执行该方法。一次有效滑动(开始滑动,滑动一小段距离,只要手指不松开,只算一次滑动),只执行一次。

    - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

    {

        //获取开始位置

        beginContentY = scrollView.contentOffset.y;

    }

    // 滑动scrollView,并且手指离开时执行。一次有效滑动,只执行一次。

    // 当pagingEnabled属性为YES时,不调用,该方法

    - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset

    {

        //获取结束位置

        endContentY = scrollView.contentOffset.y;

        if(endContentY-beginContentY > 100)

        {

            [UIView animateWithDuration:0.25 animations:^{

                CGRect rect = navBarView.frame;

                rect.origin.y = -64;

                navBarView.frame = rect;

                _myTableView.y = navBarView.BottomY;

                 _myTableView.height = SCREENHEIGHT-50;

            }];

            sectionHeaderHeight = 0;

            [_myTableView reloadData];

        } else if(endContentY-beginContentY < -100)  {

            [UIView animateWithDuration:0.25 animations:^{

                CGRect rect = navBarView.frame;

                rect.origin.y = 0;

               navBarView.frame = rect;

             _myTableView.y = navBarView.BottomY;

                _myTableView.height = SCREENHEIGHT-navBarView.height-50;

            } completion:^(BOOL finished) {

                sectionHeaderHeight = 40;

                [_myTableView reloadData];

            }];

        }

    }

    @end

  • 相关阅读:
    httpclient 使用问题记录:org.apache.http.HttpException: Unsupported Content-Coding:GLZip
    Gitserver端密码变更,但是本地gitconfig配置未变更账号和密码问题解决
    线程池ThreadPoolExecutor学习
    Java 网络编程
    org.apache.ibatis.binding.BindingException: Invalid bound statement Mybatis绑定错误问题解决
    Java string类
    maven3.6.2 版本 在idea 2019.2.2下遇到的问题解决记录
    python
    django-URL与视图配置
    python 的datetime模块使用
  • 原文地址:https://www.cnblogs.com/liaolijun/p/6774580.html
Copyright © 2020-2023  润新知