属性
contentOffset 内容偏移量,当前显示的内容的顶点相对此控件顶点的x、y距离,默认为CGPointZero
contentSize 控件内容大小,不一定在显示区域,如果这个属性不设置,此控件无法滚动,默认为CGSizeZero
contentInset 控件四周边距 默认为UIEdgeInsetsZero
delegate 控件代理,一般用于事件监听,默认为空,弱引用
scrollEnabled 是否滚动,默认滚动YES
bounces 是否启用弹簧效果,启用弹簧效果后拖动到边缘可以看到内容后面的背景,默认为YES
pagingEnabled 是否分页,如果分页的话每次左右拖动则移动宽度是屏幕宽度整数倍,默认为NO
showsHorizontalScrollIndicator 是否显示横向滚动条,默认为YES
showsVerticalScrollIndicator 是否显示纵向滚动条,默认为YES
minimumZoomScale 最小缩放倍数,默认为1.0
maximumZoomScale 最大缩放倍数,默认为1.0
tracking 状态)是否正在被追踪,手指按下去并且还没有拖动时是YES,其他情况均为NO
dragging 是否正在被拖拽
decelerating 是否正在减速
zooming 是否正在缩放
方法
1.设置滚动位置,第二个参数表示是否启用动画效果
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated;
2.滚动并显示指定区域的内容,第二个参数表示是否启用动画效果
- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated;
代理方法
1.滚动事件方法,滚动过程中会一直循环执行(滚动中…)
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
2.开始拖拽事件方法
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
3.拖拽操作完成事件方法
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;
4.即将停止滚动事件方法(拖拽松开后开始减速时执行)
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView;
5.滚动停止事件方法(滚动过程中减速停止后执行)
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;
6.开始缩放事件方法
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view ;
7.缩放操作完成事件方法
- (void)scrollViewDidZoom:(UIScrollView *)scrollView ;
8.返回缩放视图 (注意:只有实现这个代理方法才能进行缩放,此方法返回需要缩放的视图)
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;
拖拽执行顺序
1.开始拖拽,滚动,滚动…,停止拖拽
2.将要停止滚动,滚动,滚动…,停止滚动
缩放执行顺序
开始缩放,滚动,滚动…,停止缩放