首页 > 代码库 > UIScrollView 常见属性 手势缩放 分页效果

UIScrollView 常见属性 手势缩放 分页效果

一、 基本使用

  1. 作用 

    UIScrollView可以用于显示多于一个屏幕的内容,超出屏幕范围的内容可以通过滑动进行查看

  2. 常见属性 

    ? CGSize contentSize :设置UIScrollView的滚动范围 

    ? CGPoint contentOffset :UIScrollView当前滚动的位置 

    ? UIEdgeInsets contentInset :这个属性可以在四周增加滚动范围

  3. 其他属性 

    ? BOOL bounces 是否有弹簧效果 

    ? BOOL scrollEnabled 是否能滚动 

    ? BOOL showsHorizontalScrollIndicator 是否显示水平方向的滚动条 

    ? BOOL showsVerticalScrollIndicator 是否显示垂直方向的滚动条 

    ? UIScrollViewIndicatorStyle indicatorStyle 设定滚动条的样式 

    ? BOOL dragging 是否正在被拖拽 

    ? BOOL tracking 当touch后还没有拖动的时候值是YES,否则NO 

    ? BOOL decelerating 是否正在减速 

    ? BOOL zooming 是否正在缩放

二、 手势缩放

  1. 设置UIScrollView的id delegate代理对象

  2. 设置minimumZoomScale :缩小的最小比例

  3. 设置maximumZoomScale :放大的最大比例

  4. 让代理对象实现下面的方法,返回需要缩放的视图控件

  5. (UIView )viewForZoomingInScrollView:(UIScrollView )scrollView 

    ? 跟缩放相关的常用方法还有 

    ? 正在缩放的时候调用 

    -(void)scrollViewDidZoom:(UIScrollView )scrollView 

    ? 缩放完毕的时候调用 

    -(void)scrollViewDidEndZooming:(UIScrollView 
    )scrollView withView:(UIView *)view atScale:(float)scale

三、 分页效果 

? 设置pagingEnabled=YES即可,UIScrollView会被分割成多个独立页面,用户的滚动体验则变成了页面翻转 

? 一般会配合UIPageControl增强分页效果,UIPageControl常用属性: 

? NSInteger numberOfPages : 总页数 

? NSInteger currentPage : 当前的页码 

? BOOL hidesForSinglePage : 当只有一页的时候,是否要隐藏视图 

? 监听UIPageControl的页面改变: 

// 添加监听器 

[pageControl addTarget:self action:@selector(pageChange:) 

forControlEvents:UIControlEventValueChanged]; 

// 监听方法

  • (void)pageChange:(UIPageControl *)pageControl 



    }



UIScrollView 常见属性 手势缩放 分页效果