zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    PAT 1063 计算谱半径(20)(代码)
    PAT 1071 小赌怡情(15)(代码)
    PAT 1068 万绿丛中一点红(20)(测试点分析+思路分析)
    PAT 甲级 1011 World Cup Betting (20)(代码+思路)
    PAT 1041 考试座位号(15)(代码)
    PAT 1076 Wifi密码(15)(代码)
    Mvc全局过滤器与Action排除
    .NET Core WebApi使用Swagger
    .NET WebApi使用Swagger
    JQuery常见方法
  • 原文地址:https://www.cnblogs.com/liaolijun/p/6774580.html
Copyright © 2011-2022 走看看