检测TableView拖拽和滚动方向

作者:计算机网络
@interface OLiEventInfoController () <UITableViewDelegate>{ CGFloat contentOffsetY; CGFloat oldContentOffsetY; CGFloat newContentOffsetY;}// 开始拖拽- scrollViewWillBeginDragging:(UIScrollView *)scrollView{ NSLog(@"  开始拖拽"); contentOffsetY = scrollView.contentOffset.y;}// 滚动时调用此方法- scrollViewDidScroll:(UIScrollView *)scrollView{ //NSLog(@"scrollView.contentOffset:%f, %f", scrollView.contentOffset.x, scrollView.contentOffset.y); newContentOffsetY = scrollView.contentOffset.y; if (newContentOffsetY > oldContentOffsetY && oldContentOffsetY > contentOffsetY) { // 向上滚动 OLiLog; } else if (newContentOffsetY < oldContentOffsetY && oldContentOffsetY < contentOffsetY) {// 向下滚动 OLiLog; } 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) { // 向上拖拽 OLiLog; // 隐藏导航栏和选项栏 // [self layoutView];// [self.navigationController setNa。vigationBarHidden:YES animated:YES];// [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;// [self.navigationController setToolbarHidden:YES animated:YES];// _viewController.tabBarController.tabBar.hidden =YES; } else if ((contentOffsetY - scrollView.contentOffset.y) > 5.0f) { // 向下拖拽 OLiLog(@"--向下拖拽"); // 显示导航栏和选项栏 //[self layoutView];// [self.navigationController setNavigationBarHidden:NO animated:YES];// [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;// [self.navigationController setToolbarHidden:NO animated:YES];// self.navigationController.tabBarController.tabBar.hidden =NO; } else { } }}// 完成拖拽(滚动停止时调用此方法,手指离开屏幕前)- scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:decelerate{ // NSLog(@"scrollViewDidEndDragging"); oldContentOffsetY = scrollView.contentOffset.y; OLiLog;}

本文由新葡京8455发布,转载请注明来源

关键词: