一、 基本使用
1. 作用
UIScrollView可以用于显示多于一个屏幕的内容,超出屏幕范围的内容可以通过滑动进行查看
2. 常见属性
-
CGSizecontentSize:设置UIScrollView的滚动范围
-
CGPointcontentOffset :UIScrollView当前滚动的位置
-
UIEdgeInsetscontentInset :这个属性可以在四周增加滚动范围
3. 其他属性
-
BOOL bounces 是否有弹簧效果
-
BOOL scrollEnabled 是否能滚动
-
BOOLshowsHorizontalScrollIndicator 是否显示水平方向的滚动条
-
BOOLshowsVerticalScrollIndicator 是否显示垂直方向的滚动条
-
UIScrollViewIndicatorStyleindicatorStyle 设定滚动条的样式
-
BOOL dragging 是否正在被拖拽
-
BOOL tracking 当touch后还没有拖动的时候值是YES,否则NO
-
BOOL decelerating 是否正在减速
-
BOOL zooming 是否正在缩放
二、 手势缩放
1. 设置UIScrollView的id<UISCrollViewDelegate> delegate代理对象
2. 设置minimumZoomScale :缩小的最小比例
3. 设置maximumZoomScale :放大的最大比例
4. 让代理对象实现下面的方法,返回需要缩放的视图控件
1 | - (UIView *)viewForZoomingInScrollView:(UIScrollView*)scrollView |
- 跟缩放相关的常用方法还有
- 正在缩放的时候调用
1 | -( void )scrollViewDidZoom:(UIScrollView*)scrollView |
- 缩放完毕的时候调用
1 | -( void )scrollViewDidEndZooming:(UIScrollView*)scrollView withView:(UIView *)view atScale:(float)scale |
三、 分页效果
1 设置pagingEnabled=YES即可,UIScrollView会被分割成多个独立页面,用户的滚动体验则变成 了页面翻转
2 一般会配合UIPageControl增强分页效果,UIPageControl常用属性:
NSInteger numberOfPages : 总页数
NSInteger currentPage : 当前的页码
BOOL hidesForSinglePage : 当只有一页的时候,是否要隐藏视图
3 监听UIPageControl的页面改变:
// 添加监听器
1 2 | [pageControl addTarget:self action:@selector(pageChange:) forControlEvents:UIControlEventValueChanged]; |
// 监听方法
1 2 | - ( void )pageChange:(UIPageControl*)pageControl { } |