实用小技巧(一):UIScrollView中上下左右滚动方向的判断

版本记录

版本号 时间
V1.0 2017.05.31

前言

ios中又很多实用的小技巧,实现不难很实用,以后我会慢慢的给大家总结。这一篇主要讲述滚动方向的判断。
  滚动视图是app很常用的视图形式,而其中scrollView及其子类UITableView和UICollectionView用的很多,在用的时候有一个需求就是:需要判断当前的滚动方向

  • 向上滚动
  • 向下滚动
  • 向左滚动
  • 向右滚动
    下面就以两个例子对滚动方向进行判断,下面我们开始。

详情

一、左右滚动方向的判断

下面我们就以UIScrollView为例子,说明左右滚动是如何判断的,还是先看一下代码组成。

代码组成

思路引导

下面我们看,当我们向左滚动时可见,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

反过来,如果我们向右滑动,可见

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

那么,我们可见,可以有这个思路,如果我们记录当前的x偏移值,并且用下一时刻临近的x偏移值与之相比较,取差值,如果下一时刻的x偏移值 - 当前x偏移值为正值,则是向左边滑动,反之则为向右滑动。

看输出结果,先看向左滑动

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] 正在向左滑动
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] 正在向左滑动
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] 正在向左滑动
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] 正在向左滑动
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] 正在向左滑动
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] 正在向左滑动
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] 正在向左滑动
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] 正在向左滑动

在看向右滑动

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] 正在向右滑动
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] 正在向右滑动
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] 正在向右滑动
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] 正在向右滑动
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] 正在向右滑动
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] 正在向右滑动
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] 正在向右滑动
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] 正在向右滑动
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] 正在向右滑动
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] 正在向右滑动
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] 正在向右滑动
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] 正在向右滑动
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] 正在向右滑动

代码实现

下面我们就直接看代码的实现。

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(@"正在向左滑动");
    }
    else {
        NSLog(@"正在向右滑动");
    }
}
    
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    self.lastOffSetX = scrollView.contentOffset.x;
}

@end


二、上下滚动方向的判断

下面我们就以UIScrollView为例子,说明上下滚动是如何判断的,还是先看一下代码组成。

代码组织

思路引导

  前面有了左右方向的判断,相信大家掌握了,那么上下方向的判断也是这个思路。

先看向上滚动的输出

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

我们在看一下向下滚动

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

那么,我们可见,可以有这个思路,如果我们记录当前的y偏移值,并且用下一时刻临近的y偏移值与之相比较,取差值,如果下一时刻的y偏移值 - 当前y偏移值为正值,则是向上边滑动,反之则为向下边滑动。

下面看最后的输出结果,先看向上滑动。

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] 正在向上滑动
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] 正在向上滑动
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] 正在向上滑动
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] 正在向上滑动
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] 正在向上滑动
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] 正在向上滑动
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] 正在向上滑动
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] 正在向上滑动
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] 正在向上滑动
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] 正在向上滑动
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] 正在向上滑动
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] 正在向上滑动
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] 正在向上滑动

在看一下向下滑动

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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动
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] 正在向下滑动

代码实现

看代码实现

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(@"正在向上滑动");
    }
    else {
        NSLog(@"正在向下滑动");
    }
}
    
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    self.lastOffSetY = scrollView.contentOffset.y;
}

@end

后记

  判断视图的滚动方向是我们经常有的需求,这篇就先介绍到这,后面还会介绍其他的实用小技巧,希望对大家有所帮助,谢谢大家。

奋斗
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容