• 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;

    }

  • 相关阅读:
    linux 错误总结
    linux xampp常见问题
    !WebGL
    !站点列表(无关的站点)
    代码: 瀑布流
    插件:★★★ !!!图片懒加载 lazyload.js 、 jquery.scrollLoading.js
    html调用静态json例子
    !!! jquery mobile常用代码
    国内各类“壳子”浏览器,userAgent 一览
    checkbox的美化(转)
  • 原文地址:https://www.cnblogs.com/jiqiaochun/p/5951663.html
Copyright © 2020-2023  润新知