zoukankan      html  css  js  c++  java
  • iOS之判断滚动视图的滚动方向

    PushListView.h

    @interface PushListView : UIView<UITableViewDelegate,UITableViewDataSource

    {

        CGFloat contentOffsetY;

        CGFloat oldContentOffsetY;

        CGFloat newContentOffsetY;

    }

    PushListView.m

    //开始拖拽视图

    - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{

        contentOffsetY = scrollView.contentOffset.y;

    }

     

    // 滚动时调用此方法(手指离开屏幕后)

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

        //NSLog(@"scrollView.contentOffset:%f, %f", scrollView.contentOffset.x, scrollView.contentOffset.y);

        newContentOffsetY = scrollView.contentOffset.y;

        if (newContentOffsetY > oldContentOffsetY && oldContentOffsetY > contentOffsetY) { // 向上滚动

            NSLog(@"up");

         } else if (newContentOffsetY < oldContentOffsetY && oldContentOffsetY < contentOffsetY) {// 向下滚动

            NSLog(@"down");

        } else {

            NSLog(@"dragging");

        }

        if (scrollView.dragging) { // 拖拽

            NSLog(@"scrollView.dragging");

            NSLog(@"contentOffsetY: %f", contentOffsetY);

            NSLog(@"newContentOffsetY: %f", scrollView.contentOffset.y);

            if ((scrollView.contentOffset.y - contentOffsetY) >5.0f) {  // 向上拖拽

                // 隐藏导航栏和选项栏

                // [self layoutView];

                [_viewController.navigationController setNavigationBarHidden:YESanimated:YES];

                //[_viewController.navigationController setToolbarHidden:!hidden animated:YES];

                _viewController.tabBarController.tabBar.hidden =YES;

            } elseif ((contentOffsetY - scrollView.contentOffset.y) > 5.0f) {   // 向下拖拽

                // 显示导航栏和选项栏

                //[self layoutView];

                [_viewController.navigationController setNavigationBarHidden:NOanimated:YES];

                //[_viewController.navigationController setToolbarHidden:NO animated:YES];

                _viewController.tabBarController.tabBar.hidden =NO;

            } else { 

            }

        }

    }

     

    // 完成拖拽(滚动停止时调用此方法,手指离开屏幕前)

    - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{

        // NSLog(@"scrollViewDidEndDragging");

        oldContentOffsetY = scrollView.contentOffset.y;

    }

  • 相关阅读:
    去除文件及子文件的隐藏和只读属性
    一个比较全的C++农历算法(转)
    Activity 的窗口去头的方式
    SQL查询显示行号、随机查询、取指定行数据
    C++中map用法详解(转)
    窗口消息大全(转)
    CTreeCtrl的用法汇总(转)
    CTreeView和CTreeCtrl的使用方法(转)
    用CImage加载内存里的Image(转)
    序列化编程,保存和读取配置文件
  • 原文地址:https://www.cnblogs.com/jiqiaochun/p/5951663.html
Copyright © 2011-2022 走看看