實(shí)用小技巧(一):UIScrollView中上下左右滾動(dòng)方向的判斷

版本記錄

版本號(hào) 時(shí)間
V1.0 2017.05.31

前言

ios中又很多實(shí)用的小技巧,實(shí)現(xiàn)不難很實(shí)用,以后我會(huì)慢慢的給大家總結(jié)。這一篇主要講述滾動(dòng)方向的判斷诵盼。
??滾動(dòng)視圖是app很常用的視圖形式,而其中scrollView及其子類UITableView和UICollectionView用的很多银还,在用的時(shí)候有一個(gè)需求就是:需要判斷當(dāng)前的滾動(dòng)方向

  • 向上滾動(dòng)
  • 向下滾動(dòng)
  • 向左滾動(dòng)
  • 向右滾動(dòng)
    下面就以兩個(gè)例子對(duì)滾動(dòng)方向進(jìn)行判斷拦耐,下面我們開始。

詳情

一见剩、左右滾動(dòng)方向的判斷

下面我們就以UIScrollView為例子,說明左右滾動(dòng)是如何判斷的扫俺,還是先看一下代碼組成苍苞。

代碼組成

思路引導(dǎo)

下面我們看,當(dāng)我們向左滾動(dòng)時(shí)可見狼纬,x為正值且越來越大羹呵,如下:

2017-06-01 00:15:47.962 scrollDirectionJudge[2981:77203] x==0.333333,y==-64.000000
2017-06-01 00:15:48.026 scrollDirectionJudge[2981:77203] x==1.000000,y==-64.000000
2017-06-01 00:15:48.057 scrollDirectionJudge[2981:77203] x==1.333333,y==-64.000000
2017-06-01 00:15:48.089 scrollDirectionJudge[2981:77203] x==1.666667,y==-64.000000
2017-06-01 00:15:48.122 scrollDirectionJudge[2981:77203] x==2.000000,y==-64.000000
2017-06-01 00:15:48.145 scrollDirectionJudge[2981:77203] x==4.000000,y==-64.000000
2017-06-01 00:15:48.170 scrollDirectionJudge[2981:77203] x==7.666667,y==-64.000000
2017-06-01 00:15:48.194 scrollDirectionJudge[2981:77203] x==11.000000,y==-64.000000
2017-06-01 00:15:48.218 scrollDirectionJudge[2981:77203] x==12.666667,y==-64.000000
2017-06-01 00:15:48.235 scrollDirectionJudge[2981:77203] x==13.000000,y==-64.000000
2017-06-01 00:15:48.956 scrollDirectionJudge[2981:77203] x==13.666667,y==-64.000000
2017-06-01 00:15:49.036 scrollDirectionJudge[2981:77203] x==14.000000,y==-64.000000

反過來,如果我們向右滑動(dòng)疗琉,可見

2017-06-01 00:17:27.177 scrollDirectionJudge[2981:77203] x==412.000000,y==-64.000000
2017-06-01 00:17:27.200 scrollDirectionJudge[2981:77203] x==407.666667,y==-64.000000
2017-06-01 00:17:27.216 scrollDirectionJudge[2981:77203] x==405.333333,y==-64.000000
2017-06-01 00:17:27.240 scrollDirectionJudge[2981:77203] x==402.333333,y==-64.000000
2017-06-01 00:17:27.265 scrollDirectionJudge[2981:77203] x==401.333333,y==-64.000000
2017-06-01 00:17:27.288 scrollDirectionJudge[2981:77203] x==401.000000,y==-64.000000
2017-06-01 00:17:27.353 scrollDirectionJudge[2981:77203] x==400.666667,y==-64.000000
2017-06-01 00:17:27.377 scrollDirectionJudge[2981:77203] x==399.666667,y==-64.000000
2017-06-01 00:17:27.400 scrollDirectionJudge[2981:77203] x==397.666667,y==-64.000000
2017-06-01 00:17:27.416 scrollDirectionJudge[2981:77203] x==395.666667,y==-64.000000
2017-06-01 00:17:27.432 scrollDirectionJudge[2981:77203] x==393.333333,y==-64.000000
2017-06-01 00:17:27.448 scrollDirectionJudge[2981:77203] x==391.666667,y==-64.000000
2017-06-01 00:17:27.473 scrollDirectionJudge[2981:77203] x==390.333333,y==-64.000000

那么冈欢,我們可見,可以有這個(gè)思路盈简,如果我們記錄當(dāng)前的x偏移值凑耻,并且用下一時(shí)刻臨近的x偏移值與之相比較,取差值柠贤,如果下一時(shí)刻的x偏移值 - 當(dāng)前x偏移值為正值香浩,則是向左邊滑動(dòng),反之則為向右滑動(dòng)臼勉。

看輸出結(jié)果邻吭,先看向左滑動(dòng)

2017-06-01 00:24:38.629 scrollDirectionJudge[3185:84739] x==4.666667,y==-64.000000
2017-06-01 00:24:38.629 scrollDirectionJudge[3185:84739] 正在向左滑動(dòng)
2017-06-01 00:24:38.652 scrollDirectionJudge[3185:84739] x==10.666667,y==-64.000000
2017-06-01 00:24:38.652 scrollDirectionJudge[3185:84739] 正在向左滑動(dòng)
2017-06-01 00:24:38.676 scrollDirectionJudge[3185:84739] x==15.666667,y==-64.000000
2017-06-01 00:24:38.677 scrollDirectionJudge[3185:84739] 正在向左滑動(dòng)
2017-06-01 00:24:38.700 scrollDirectionJudge[3185:84739] x==20.000000,y==-64.000000
2017-06-01 00:24:38.700 scrollDirectionJudge[3185:84739] 正在向左滑動(dòng)
2017-06-01 00:24:38.726 scrollDirectionJudge[3185:84739] x==22.666667,y==-64.000000
2017-06-01 00:24:38.727 scrollDirectionJudge[3185:84739] 正在向左滑動(dòng)
2017-06-01 00:24:38.747 scrollDirectionJudge[3185:84739] x==24.333333,y==-64.000000
2017-06-01 00:24:38.748 scrollDirectionJudge[3185:84739] 正在向左滑動(dòng)
2017-06-01 00:24:38.764 scrollDirectionJudge[3185:84739] x==25.000000,y==-64.000000
2017-06-01 00:24:38.765 scrollDirectionJudge[3185:84739] 正在向左滑動(dòng)
2017-06-01 00:24:38.792 scrollDirectionJudge[3185:84739] x==25.666667,y==-64.000000
2017-06-01 00:24:38.792 scrollDirectionJudge[3185:84739] 正在向左滑動(dòng)

在看向右滑動(dòng)

2017-06-01 00:25:58.949 scrollDirectionJudge[3185:84739] x==27.333333,y==-64.000000
2017-06-01 00:25:58.950 scrollDirectionJudge[3185:84739] 正在向右滑動(dòng)
2017-06-01 00:25:58.970 scrollDirectionJudge[3185:84739] x==24.333333,y==-64.000000
2017-06-01 00:25:58.970 scrollDirectionJudge[3185:84739] 正在向右滑動(dòng)
2017-06-01 00:25:58.986 scrollDirectionJudge[3185:84739] x==22.666667,y==-64.000000
2017-06-01 00:25:58.986 scrollDirectionJudge[3185:84739] 正在向右滑動(dòng)
2017-06-01 00:25:59.002 scrollDirectionJudge[3185:84739] x==21.333333,y==-64.000000
2017-06-01 00:25:59.003 scrollDirectionJudge[3185:84739] 正在向右滑動(dòng)
2017-06-01 00:25:59.018 scrollDirectionJudge[3185:84739] x==20.000000,y==-64.000000
2017-06-01 00:25:59.019 scrollDirectionJudge[3185:84739] 正在向右滑動(dòng)
2017-06-01 00:25:59.034 scrollDirectionJudge[3185:84739] x==19.333333,y==-64.000000
2017-06-01 00:25:59.035 scrollDirectionJudge[3185:84739] 正在向右滑動(dòng)
2017-06-01 00:25:59.054 scrollDirectionJudge[3185:84739] x==18.666667,y==-64.000000
2017-06-01 00:25:59.054 scrollDirectionJudge[3185:84739] 正在向右滑動(dòng)
2017-06-01 00:25:59.074 scrollDirectionJudge[3185:84739] x==16.000000,y==-64.000000
2017-06-01 00:25:59.074 scrollDirectionJudge[3185:84739] 正在向右滑動(dòng)
2017-06-01 00:25:59.090 scrollDirectionJudge[3185:84739] x==14.000000,y==-64.000000
2017-06-01 00:25:59.091 scrollDirectionJudge[3185:84739] 正在向右滑動(dòng)
2017-06-01 00:25:59.115 scrollDirectionJudge[3185:84739] x==11.666667,y==-64.000000
2017-06-01 00:25:59.115 scrollDirectionJudge[3185:84739] 正在向右滑動(dòng)
2017-06-01 00:25:59.138 scrollDirectionJudge[3185:84739] x==10.666667,y==-64.000000
2017-06-01 00:25:59.139 scrollDirectionJudge[3185:84739] 正在向右滑動(dòng)
2017-06-01 00:25:59.195 scrollDirectionJudge[3185:84739] x==10.000000,y==-64.000000
2017-06-01 00:25:59.196 scrollDirectionJudge[3185:84739] 正在向右滑動(dòng)
2017-06-01 00:25:59.251 scrollDirectionJudge[3185:84739] x==9.666667,y==-64.000000
2017-06-01 00:25:59.251 scrollDirectionJudge[3185:84739] 正在向右滑動(dòng)

代碼實(shí)現(xiàn)

下面我們就直接看代碼的實(shí)現(xiàn)。

JJHorizontalDirectionVC.m

#import "JJHorizontalDirectionVC.h"

@interface JJHorizontalDirectionVC () <UIScrollViewDelegate>
    
@property (nonatomic, strong) UIScrollView *textScrollView;
@property (nonatomic, assign) CGFloat lastOffSetX;

@end

@implementation JJHorizontalDirectionVC

#pragma mark - Override Base Function

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    [self setupUI];
}

#pragma mark - Object Private Function
    
- (void)setupUI
{
    UIScrollView *textScrollView = [[UIScrollView alloc] initWithFrame:self.view.frame];
    textScrollView.backgroundColor = [UIColor greenColor];
    textScrollView.contentSize = CGSizeMake(self.view.bounds.size.width * 2, 0);
    textScrollView.delegate = self;
    [self.view addSubview:textScrollView];
    self.textScrollView = textScrollView;

}
    
#pragma mark - UIScrollViewDelegate
    
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    NSLog(@"x==%f,y==%f",scrollView.contentOffset.x,scrollView.contentOffset.y);
    
    if (scrollView.contentOffset.x - self.lastOffSetX > 0) {
        NSLog(@"正在向左滑動(dòng)");
    }
    else {
        NSLog(@"正在向右滑動(dòng)");
    }
}
    
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    self.lastOffSetX = scrollView.contentOffset.x;
}

@end


二宴霸、上下滾動(dòng)方向的判斷

下面我們就以UIScrollView為例子囱晴,說明上下滾動(dòng)是如何判斷的,還是先看一下代碼組成瓢谢。

代碼組織

思路引導(dǎo)

??前面有了左右方向的判斷畸写,相信大家掌握了,那么上下方向的判斷也是這個(gè)思路恩闻。

先看向上滾動(dòng)的輸出

2017-06-01 00:48:03.131 scrollDirectionJudge[3579:100464] x==0.000000,y==0.666667
2017-06-01 00:48:03.148 scrollDirectionJudge[3579:100464] x==0.000000,y==2.000000
2017-06-01 00:48:03.171 scrollDirectionJudge[3579:100464] x==0.000000,y==3.666667
2017-06-01 00:48:03.187 scrollDirectionJudge[3579:100464] x==0.000000,y==5.000000
2017-06-01 00:48:03.203 scrollDirectionJudge[3579:100464] x==0.000000,y==6.000000
2017-06-01 00:48:03.229 scrollDirectionJudge[3579:100464] x==0.000000,y==6.666667
2017-06-01 00:48:03.246 scrollDirectionJudge[3579:100464] x==0.000000,y==7.000000
2017-06-01 00:48:03.733 scrollDirectionJudge[3579:100464] x==0.000000,y==7.333333
2017-06-01 00:48:03.757 scrollDirectionJudge[3579:100464] x==0.000000,y==8.000000
2017-06-01 00:48:03.773 scrollDirectionJudge[3579:100464] x==0.000000,y==8.333333
2017-06-01 00:48:03.797 scrollDirectionJudge[3579:100464] x==0.000000,y==9.333333
2017-06-01 00:48:03.832 scrollDirectionJudge[3579:100464] x==0.000000,y==10.333333
2017-06-01 00:48:03.863 scrollDirectionJudge[3579:100464] x==0.000000,y==11.000000
2017-06-01 00:48:03.981 scrollDirectionJudge[3579:100464] x==0.000000,y==11.333333
2017-06-01 00:48:04.005 scrollDirectionJudge[3579:100464] x==0.000000,y==12.666667
2017-06-01 00:48:04.029 scrollDirectionJudge[3579:100464] x==0.000000,y==14.333333
2017-06-01 00:48:04.047 scrollDirectionJudge[3579:100464] x==0.000000,y==15.000000
2017-06-01 00:48:04.064 scrollDirectionJudge[3579:100464] x==0.000000,y==15.333333
2017-06-01 00:48:04.214 scrollDirectionJudge[3579:100464] x==0.000000,y==16.000000
2017-06-01 00:48:04.237 scrollDirectionJudge[3579:100464] x==0.000000,y==17.000000
2017-06-01 00:48:04.262 scrollDirectionJudge[3579:100464] x==0.000000,y==19.333333
2017-06-01 00:48:04.286 scrollDirectionJudge[3579:100464] x==0.000000,y==21.666667
2017-06-01 00:48:04.311 scrollDirectionJudge[3579:100464] x==0.000000,y==22.666667
2017-06-01 00:48:04.494 scrollDirectionJudge[3579:100464] x==0.000000,y==23.666667
2017-06-01 00:48:04.518 scrollDirectionJudge[3579:100464] x==0.000000,y==24.666667

我們?cè)诳匆幌孪蛳聺L動(dòng)

2017-06-01 00:49:12.548 scrollDirectionJudge[3579:100464] x==0.000000,y==735.333333
2017-06-01 00:49:12.571 scrollDirectionJudge[3579:100464] x==0.000000,y==733.333333
2017-06-01 00:49:12.587 scrollDirectionJudge[3579:100464] x==0.000000,y==732.666667
2017-06-01 00:49:12.614 scrollDirectionJudge[3579:100464] x==0.000000,y==732.000000
2017-06-01 00:49:12.660 scrollDirectionJudge[3579:100464] x==0.000000,y==731.666667
2017-06-01 00:49:12.796 scrollDirectionJudge[3579:100464] x==0.000000,y==731.333333
2017-06-01 00:49:12.813 scrollDirectionJudge[3579:100464] x==0.000000,y==730.666667
2017-06-01 00:49:12.831 scrollDirectionJudge[3579:100464] x==0.000000,y==730.000000
2017-06-01 00:49:13.101 scrollDirectionJudge[3579:100464] x==0.000000,y==729.666667
2017-06-01 00:49:13.125 scrollDirectionJudge[3579:100464] x==0.000000,y==729.000000
2017-06-01 00:49:13.149 scrollDirectionJudge[3579:100464] x==0.000000,y==725.666667
2017-06-01 00:49:13.167 scrollDirectionJudge[3579:100464] x==0.000000,y==721.333333
2017-06-01 00:49:13.183 scrollDirectionJudge[3579:100464] x==0.000000,y==717.000000
2017-06-01 00:49:13.204 scrollDirectionJudge[3579:100464] x==0.000000,y==711.000000
2017-06-01 00:49:13.221 scrollDirectionJudge[3579:100464] x==0.000000,y==709.000000
2017-06-01 00:49:13.237 scrollDirectionJudge[3579:100464] x==0.000000,y==707.333333
2017-06-01 00:49:13.265 scrollDirectionJudge[3579:100464] x==0.000000,y==706.333333

那么艺糜,我們可見,可以有這個(gè)思路,如果我們記錄當(dāng)前的y偏移值破停,并且用下一時(shí)刻臨近的y偏移值與之相比較翅楼,取差值,如果下一時(shí)刻的y偏移值 - 當(dāng)前y偏移值為正值真慢,則是向上邊滑動(dòng)毅臊,反之則為向下邊滑動(dòng)。

下面看最后的輸出結(jié)果黑界,先看向上滑動(dòng)管嬉。

2017-06-01 00:55:03.163 scrollDirectionJudge[3709:105104] x==0.000000,y==139.666667
2017-06-01 00:55:03.163 scrollDirectionJudge[3709:105104] 正在向上滑動(dòng)
2017-06-01 00:55:03.184 scrollDirectionJudge[3709:105104] x==0.000000,y==143.000000
2017-06-01 00:55:03.184 scrollDirectionJudge[3709:105104] 正在向上滑動(dòng)
2017-06-01 00:55:03.213 scrollDirectionJudge[3709:105104] x==0.000000,y==146.666667
2017-06-01 00:55:03.213 scrollDirectionJudge[3709:105104] 正在向上滑動(dòng)
2017-06-01 00:55:03.232 scrollDirectionJudge[3709:105104] x==0.000000,y==149.666667
2017-06-01 00:55:03.232 scrollDirectionJudge[3709:105104] 正在向上滑動(dòng)
2017-06-01 00:55:03.248 scrollDirectionJudge[3709:105104] x==0.000000,y==151.666667
2017-06-01 00:55:03.248 scrollDirectionJudge[3709:105104] 正在向上滑動(dòng)
2017-06-01 00:55:03.264 scrollDirectionJudge[3709:105104] x==0.000000,y==153.666667
2017-06-01 00:55:03.265 scrollDirectionJudge[3709:105104] 正在向上滑動(dòng)
2017-06-01 00:55:03.297 scrollDirectionJudge[3709:105104] x==0.000000,y==155.333333
2017-06-01 00:55:03.297 scrollDirectionJudge[3709:105104] 正在向上滑動(dòng)
2017-06-01 00:55:03.332 scrollDirectionJudge[3709:105104] x==0.000000,y==156.666667
2017-06-01 00:55:03.332 scrollDirectionJudge[3709:105104] 正在向上滑動(dòng)
2017-06-01 00:55:03.401 scrollDirectionJudge[3709:105104] x==0.000000,y==157.000000
2017-06-01 00:55:03.401 scrollDirectionJudge[3709:105104] 正在向上滑動(dòng)
2017-06-01 00:55:03.457 scrollDirectionJudge[3709:105104] x==0.000000,y==157.333333
2017-06-01 00:55:03.457 scrollDirectionJudge[3709:105104] 正在向上滑動(dòng)
2017-06-01 00:55:03.481 scrollDirectionJudge[3709:105104] x==0.000000,y==158.000000
2017-06-01 00:55:03.481 scrollDirectionJudge[3709:105104] 正在向上滑動(dòng)
2017-06-01 00:55:03.504 scrollDirectionJudge[3709:105104] x==0.000000,y==158.333333
2017-06-01 00:55:03.505 scrollDirectionJudge[3709:105104] 正在向上滑動(dòng)
2017-06-01 00:55:03.561 scrollDirectionJudge[3709:105104] x==0.000000,y==159.000000
2017-06-01 00:55:03.561 scrollDirectionJudge[3709:105104] 正在向上滑動(dòng)

在看一下向下滑動(dòng)

2017-06-01 00:55:30.613 scrollDirectionJudge[3709:105104] x==0.000000,y==734.000000
2017-06-01 00:55:30.614 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:30.636 scrollDirectionJudge[3709:105104] x==0.000000,y==730.666667
2017-06-01 00:55:30.637 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:30.653 scrollDirectionJudge[3709:105104] x==0.000000,y==728.666667
2017-06-01 00:55:30.653 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:30.680 scrollDirectionJudge[3709:105104] x==0.000000,y==723.666667
2017-06-01 00:55:30.680 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:30.701 scrollDirectionJudge[3709:105104] x==0.000000,y==717.666667
2017-06-01 00:55:30.702 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:30.731 scrollDirectionJudge[3709:105104] x==0.000000,y==711.000000
2017-06-01 00:55:30.732 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:30.749 scrollDirectionJudge[3709:105104] x==0.000000,y==705.333333
2017-06-01 00:55:30.749 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:30.766 scrollDirectionJudge[3709:105104] x==0.000000,y==701.666667
2017-06-01 00:55:30.767 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:30.790 scrollDirectionJudge[3709:105104] x==0.000000,y==698.666667
2017-06-01 00:55:30.790 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:30.813 scrollDirectionJudge[3709:105104] x==0.000000,y==697.000000
2017-06-01 00:55:30.813 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:30.830 scrollDirectionJudge[3709:105104] x==0.000000,y==696.333333
2017-06-01 00:55:30.830 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:30.926 scrollDirectionJudge[3709:105104] x==0.000000,y==695.666667
2017-06-01 00:55:30.927 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:30.950 scrollDirectionJudge[3709:105104] x==0.000000,y==694.666667
2017-06-01 00:55:30.951 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:30.973 scrollDirectionJudge[3709:105104] x==0.000000,y==692.333333
2017-06-01 00:55:30.974 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:30.997 scrollDirectionJudge[3709:105104] x==0.000000,y==690.000000
2017-06-01 00:55:30.998 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:31.014 scrollDirectionJudge[3709:105104] x==0.000000,y==688.666667
2017-06-01 00:55:31.015 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:31.030 scrollDirectionJudge[3709:105104] x==0.000000,y==687.000000
2017-06-01 00:55:31.031 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:31.053 scrollDirectionJudge[3709:105104] x==0.000000,y==684.666667
2017-06-01 00:55:31.054 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:31.069 scrollDirectionJudge[3709:105104] x==0.000000,y==683.666667
2017-06-01 00:55:31.070 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:31.097 scrollDirectionJudge[3709:105104] x==0.000000,y==682.666667
2017-06-01 00:55:31.097 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:31.190 scrollDirectionJudge[3709:105104] x==0.000000,y==681.666667
2017-06-01 00:55:31.191 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:31.287 scrollDirectionJudge[3709:105104] x==0.000000,y==681.333333
2017-06-01 00:55:31.287 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:31.318 scrollDirectionJudge[3709:105104] x==0.000000,y==681.000000
2017-06-01 00:55:31.319 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)
2017-06-01 00:55:31.361 scrollDirectionJudge[3709:105104] x==0.000000,y==680.333333
2017-06-01 00:55:31.361 scrollDirectionJudge[3709:105104] 正在向下滑動(dòng)

代碼實(shí)現(xiàn)

看代碼實(shí)現(xiàn)

JJVerticalDirectionVC.m

#import "JJVerticalDirectionVC.h"

@interface JJVerticalDirectionVC () <UIScrollViewDelegate>
    
@property (nonatomic, strong) UIScrollView *textScrollView;
@property (nonatomic, assign) CGFloat lastOffSetY;

@end

@implementation JJVerticalDirectionVC
    
#pragma mark - Override Base Function

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    [self setupUI];
}
    
#pragma mark - Object Private Function
    
- (void)setupUI
{
    UIScrollView *textScrollView = [[UIScrollView alloc] initWithFrame:self.view.frame];
    textScrollView.backgroundColor = [UIColor magentaColor];
    textScrollView.contentSize = CGSizeMake(0, self.view.bounds.size.height * 2);
    textScrollView.delegate = self;
    [self.view addSubview:textScrollView];
    self.textScrollView = textScrollView;
    
}
    
#pragma mark - UIScrollViewDelegate
    
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    NSLog(@"x==%f,y==%f",scrollView.contentOffset.x,scrollView.contentOffset.y);
    
    if (scrollView.contentOffset.y - self.lastOffSetY > 0) {
        NSLog(@"正在向上滑動(dòng)");
    }
    else {
        NSLog(@"正在向下滑動(dòng)");
    }
}
    
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    self.lastOffSetY = scrollView.contentOffset.y;
}

@end

后記

??判斷視圖的滾動(dòng)方向是我們經(jīng)常有的需求,這篇就先介紹到這朗鸠,后面還會(huì)介紹其他的實(shí)用小技巧蚯撩,希望對(duì)大家有所幫助,謝謝大家烛占。

奮斗
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末胎挎,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子忆家,更是在濱河造成了極大的恐慌犹菇,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芽卿,死亡現(xiàn)場離奇詭異揭芍,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)卸例,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門称杨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人币厕,你說我怎么就攤上這事列另。” “怎么了旦装?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵页衙,是天一觀的道長。 經(jīng)常有香客問我阴绢,道長店乐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任呻袭,我火速辦了婚禮眨八,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘左电。我一直安慰自己廉侧,他們只是感情好页响,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著段誊,像睡著了一般闰蚕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上连舍,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天没陡,我揣著相機(jī)與錄音,去河邊找鬼索赏。 笑死盼玄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的潜腻。 我是一名探鬼主播埃儿,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼融涣!你這毒婦竟也來了蝌箍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤暴心,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后杂拨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體专普,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年弹沽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了檀夹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡策橘,死狀恐怖炸渡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情丽已,我是刑警寧澤蚌堵,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站沛婴,受9級(jí)特大地震影響吼畏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嘁灯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一泻蚊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丑婿,春花似錦性雄、人聲如沸没卸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽约计。三九已至,卻和暖如春滩褥,著一層夾襖步出監(jiān)牢的瞬間病蛉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國打工瑰煎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留铺然,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓酒甸,卻偏偏與公主長得像魄健,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子插勤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容