UIScrollView简介:
UIScrollView是展示滚动视图的一个类,继承UIView,有UITableView、UITextView等子类。可以展示比屏幕更大的内容,支持上下左右滚动、缩小放大内容。
UIScrollView属性:
contentSize: 内容实际大小,可以滚动的区域,默认为零
contentOffSet: 滚动位置
contentInset: 视图在scrollView中的位置
directionalLockEnabled: 是否能在一个方向上滚动,默认为NO,可以在垂直水平方向上滚动
bounces: 遇到边框是否反弹,默认YES
alwaysBounceVertical: 垂直遇到边框是否反弹
alwaysBounceHorizontal: 水平遇到边框是否反弹
pagingEnabled: 是否整页翻动,默认为NO,改为YES时会自动滚到subView的边界
scrollEnabled: 是否能滚动
showsHorizontalScrollIndicator: 是否显示水平方向上滚动条
showsVerticalScrollIndicator: 是否显示垂直方向上滚动条
scrollIndicatorInsets: 滚动条在scrollView中的位置
indicatorStyle: 滚动条的样式
decelerationRate: 手指放开后,scrollView的减速速率
tracking: touch后没被拖动的时候为YES,其他为NO
dragging: 监控当前目标是否正在被拖拽
decelerating: 监控当前目标是否正在减速,图片滚动时,手指放开,图片仍在继续滚动时为YES,其他为NO
delaysContentTouches: 控制视图是否延迟调用滚动,默认YES,触摸后,scrollView延迟一会
canCancelContentTouches: 控制控件是否接触取消touch事件
minimumZoomScale: 缩小的最小比例
maximumZoomScale: 放大的最大比例
bouncesZoom: 缩放到最大缩放值时,是否有反弹效果
zooming: 判断控件的大小是否正在改变,正在缩放的时候为YES,其他为NO
zoomBouncing: 判断是否正在进行缩放反弹,当内容放大到最大或缩小到最小时为YES,其他为NO
scrollsToTop: 控制控件滚动到顶部,默认为YES。
UIScrollview使用:
//初始化:
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:[UIScreen mainScreen].bounds];
#pragma mark UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
//开始拖拽视图 调用
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
//完成拖拽 调用
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
//将要开始减速时 调用
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
//减速停止时 调用
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
//滚动动画停止时 调用
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
//返回一个放大或缩小的视图
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
//完成放大缩小时调用
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
//默认返回YES,如果不是滚动到视图的顶部,轻点状态栏,那个可视的滚轴视图会一直滚动到顶部。可以返回NO来关闭它
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView;
//滑动到顶部时调用
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView;