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;

}

 

posted @ 2015-10-18 19:37  BuddyLiu  阅读(146)  评论(0编辑  收藏  举报