UIScrollView详细介绍
下面通过对UIScrollView的属性和代理的介绍,以及demo的展示:
- UIScrollView的属性介绍
- UIScrollView的代理介绍
- XIB用法及注意事项
UIScrollView的属性总结
属性 | 作用 |
---|---|
CGPoint contentOffSet | 监控目前滚动的位置 |
CGSize contentSize | 滚动范围的大小 |
UIEdgeInsets contentInset | 视图在scrollView中的位置 |
id<UIScrollerViewDelegate> delegate | 设置协议 |
BOOL directionalLockEnabled | 指定控件是否只能在一个方向上滚动 |
BOOL bounces | 控制控件遇到边框是否反弹 |
BOOL alwaysBounceVertical | 控制垂直方向遇到边框是否反弹 |
BOOL alwaysBounceHorizontal | 控制水平方向遇到边框是否反弹 |
BOOL pagingEnabled | 控制控件是否整页翻动 |
BOOL scrollEnabled | 控制控件是否能滚动 |
BOOL showsHorizontalScrollIndicator | 控制是否显示水平方向的滚动条 |
BOOL showsVerticalScrollIndicator | 控制是否显示垂直方向的滚动条 |
UIEdgeInsets scrollIndicatorInsets | 指定滚动条在scrollerView中的位置 |
UIScrollViewIndicatorStyle indicatorStyle | 设定滚动条的样式 |
float decelerationRate | 改变scrollerView的减速点位置 |
BOOL tracking | 监控当前目标是否正在被跟踪 |
BOOL dragging | 监控当前目标是否正在被拖拽 |
BOOL decelerating | 监控当前目标是否正在减速 |
BOOL delaysContentTouches | 控制视图是否延时调用开始滚动的方法 |
BOOL canCancelContentTouches | 控制控件是否接触取消touch的事件 |
float minimumZoomScale | 缩小的最小比例 |
float maximumZoomScale | 放大的最大比例 |
float zoomScale | 设置变化比例 |
BOOL bouncesZoom | 控制缩放的时候是否会反弹 |
BOOL zooming | 判断控件的大小是否正在改变 |
BOOL zoomBouncing | 判断是否正在进行缩放反弹 |
BOOL scrollsToTop | 控制控件滚动到顶部 |
delaysContentTouches的作用:
这个标志默认是YES,使用上面的150ms的timer,如果设置为NO,touch事件立即传递给subView,不会有150ms的等待。cancelsTouches的作用:
这个标准默认为YES,如果设置为NO,这消息一旦传递给subView,这scroll事件不会再发生。
UIScrollView的代理方法
< UIScrollViewDelegate >协议中方法的触发时机,如果想要哪种效果,只需在相应方法里做操作
只要 scrollView 滑动就会触发 ( 会触发多次 )
*-(void)scrollViewDidScroll:(UIScrollView*)scrollView只要 scrollView 缩放就会触发
*-(void)scrollViewDidZoom:(UIScrollView*)scrollView当将要拖拽 scrollView 时触发 , 手指结束 scrollView 并且将要滑动时触发
*-(void)scrollViewWillBeginDragging:(UIScrollView*)scrollView当结束拖拽时触发 ( 手指将要离开屏幕 )
-(void)scrollViewWillEndDragging:(UIScrollView*)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(CGPoint )targetContentOffset当结束拖拽时触发 ( 手指已经离开屏幕 )
*-(void)scrollViewDidEndDragging:(UIScrollView*)scrollView willDecelerate:(BOOL)decelerate当 scrollView 滑动将要减速时触发 ( 将要停止 )
- ( void )scrollViewWillBeginDecelerating:( UIScrollView )scrollView当 scrollView 结束减速时触发 ( 停止滑动 )
*-(void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView当设置 scrollView, 有一个动画效果时触发
*-(void)scrollViewDidEndScrollingAnimation:(UIScrollView*)scrollView设置要缩放的 scrollView 上面的哪一个子视图 , 只能是子视图 , 不能是 scrollView 本身 .
*-(UIView *)viewForZoomingInScrollView:(UIScrollView*)scrollView当将要开始缩放时触发
-(void)scrollViewWillBeginZooming:(UIScrollView*)scrollView withView:( UIView )view当结束缩放时触发
*-(void)scrollViewDidEndZooming:(UIScrollView*)scrollView withView:(UIView*)view atScale:(CGFloat)scale只有当 scrollsToTop 属性设置为 YES 时 , 该方法才会触发 , 进一步询问点击状态条是否有效
*-(BOOL)scrollViewShouldScrollToTop:(UIScrollView*)scrollView当点击状态条并且 scrollView 滑动到顶端时触发
*-(void)scrollViewDidScrollToTop:(UIScrollView*)scrollView
XIB用法及注意事项
- UIScrollView 之内要手动拖一个view作为UISrollView的contentView,上下左右都距离为0,水平滚动做中心Y相等,垂直滚动做中心X相等,并且把view上最下方的控件做一个向下的距离适配即可适配完成.