iOS --UIScrollView的学习(一)

1、为什么使用UIScrollView

  因为移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限,当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容普通的UIView不具备滚动功能,不能显示过多的内容,UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容。

2、UIScrollView的最常用的熟性

1)CGPoint contentOffset:该属性是表示UIScrollView的初始滚动的位置

2)contentSize:该属性用来表示UIScrollView内容的尺寸,具体的滚动范围(width,height)

3)UIEdgeInsets contentInset:该属性从来表示UIScrollView的上下左右的额外滚动范围

3、其他一些属性

@property(nonatomic) BOOL bounces;

设置UIScrollView是否需要弹簧效果 

@property(nonatomic,getter=isScrollEnabled) BOOL scrollEnabled; 

设置UIScrollView是否能滚动

@property(nonatomic) BOOL showsHorizontalScrollIndicator;

是否显示水平滚动条

@property(nonatomic) BOOL showsVerticalScrollIndicator;

是否显示垂直滚动条

4、UIScrollView的代理

1)scrollViewWillBeginDragging:当用户开始拖拽时调用该方法

2)scrollViewDidScroll:当具体滚动到某一位置时调用该方法(用得最多)

3)scrollViewDidEndDragging:willDecelerate:当用户停止拖拽时调用该方法

5、代码演示

 1  //具体的滚动范围
 2     _fzhScrollView.contentSize = _fzhImageView.frame.size;
 3     //四周额外滚动范围
 4     _fzhScrollView.contentInset = UIEdgeInsetsMake(50, 20, 20, 20);
 5     //初始的滚动点
 6    // _fzhScrollView.contentOffset = CGPointMake(10, 10);
 7     //设置滚动条是否显示
 8     _fzhScrollView.showsHorizontalScrollIndicator = NO;
 9     _fzhScrollView.showsVerticalScrollIndicator = NO;
10     //设置代理
11     _fzhScrollView.delegate = self;

6、输出结果:

2016-03-17 15:47:56.538 01-UIScrollView[4049:225106] scrollViewDidScroll
2016-03-17 15:47:56.562 01-UIScrollView[4049:225106] scrollViewDidScroll
2016-03-17 15:47:57.052 01-UIScrollView[4049:225106] scrollViewDidScroll
2016-03-17 15:47:57.060 01-UIScrollView[4049:225106] scrollViewDidEndDragging

 7、demo现在地址:

https://github.com/fengzhihao123/01-UIScrollView

原文地址:https://www.cnblogs.com/fengzhihao/p/5287734.html