UI控件之UIScrollView
UIScrollView:提供了滚动功能,用来显示超过一屏的视图
创建滚动视图
UIScrollView *scrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 64, 375, 500)];
如果采用了导航控制器管理的视图控制器中有scrollView组件,为了消除对scrollView坐标的影响,需要设置此属性为NO
self.automaticallyAdjustsScrollViewInsets=NO;
非常重要!!!设置内容尺寸,一般设置为内容视图的大小,或者内容视图总和,只有当内容尺寸大于scrollView的尺寸时才会出现滚动效果(size:(530,596))
scrollView.contentSize=size;
设置是否有水平(垂直)方向上的滚动提示(滚动条)
scrollView.showsHorizontalScrollIndicator=NO;
scrollView.showsVerticalScrollIndicator=NO;
设置是否有回弹效果
scrollView.bounces=NO;
设置内容偏移量
scrollView.contentOffset=CGPointMake(200, 10);
设置是否允许分页
scrollView.pagingEnabled=YES;
设置缩放的最大(小)比例值,需要通过代理方法设置缩放的view
scrollView.minimumZoomScale=0.5;
scrollView.maximumZoomScale=2;
设置代理
scrollView.delegate=self;
//协议方法
设置缩放的view
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;
开始拖动scrollView时
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
在scrollView中拖动时调用此协议方法(any offset change)
-(void)scrollViewDidScroll:(UIScrollView *)scrollView;
停止拖动时
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
对scrollView的操作减速停止时,一定要有减速的过程,当设置pagingEnable为yes后此方法一定会被调用
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
//当pagingEnable设置为yes,此协议方法一定会被调用
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
//滚动减速停止后获取内容偏移量
CGPoint pt= scrollView.contentOffset;
//计算出当前显示的页码(内容偏移到第几页)
_currentIndex=pt.x/kScrollWidth;
//更新pageControl
_pageControl.currentPage=_currentIndex;
}