UIScrollView 概述

字数 418阅读 14

是什么?
 是控件,继承UIView!
有什么作用?
 能够实现滚动,缩放功能!


滚动
常用属性
contentSize:
 内容大小(告诉UIScrollView,展示内容实际有多大!)
 也就是UIScrollView,能够滚动多远.
contentOffSet:
 1.内容(UIScrollView后面的图片)相对于UIScrollView左上角的位
 2.内容滚动到的位置.
contentInset:
 内容的内边距(想象,将内容加大了“一圈”)

图解(contentSize,contentInset,contentOffSet)


bounces(是否有弹簧效果)
scrollEnabled(是否滚动)
showsHorizontalScrollIndicator -是否显示水平滚动
showsVerticalScrollIndicator - 是否显示垂直滚动
pagingEnabled - 是否启动分页


常用代理的方法
 -(void)scrollViewDidScroll (用户在滚动时)
 -(void)scrollViewWillBeginDragging(用户开始拖拽时)
 -(void)scrollViewDidEndDragging(拖拽结束时)
其他方法
 - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated;(偏移时,自带动画)


缩放
常用属性
maximumZoomScale - 最大缩放比
minimumZoomScale - 最小缩放比
常用代理方法
scrollViewWillBeginZooming(即将开始缩放)
scrollViewDidZoom(正在缩放的时候调用)
scrollViewDidEndZooming(缩放完毕的时候调用)


注意:

  1. UIScrollView控件本身不‘滚动’‘缩放’,是UIScrollView里面的内容(图片,表格,其他控件)进行滚动/缩放
  2. 为什么不能滚动的原因?
    1.没有设置contentSize的大小 (没有设置展示内容的实际大小)
    2.scrollEnabled = NO (不允许滚动)
    3.userInteractionEnabled = NO(不允许用户交互,也就没有触摸事件了)
    4.contentSize的大小 <= UIScrollView.frame.size
  3. contentSize和frame.size的区别?
    frame.size - 可视区的大小(UIScrollVie的大小)
    contentSize - UIScrollView里面展示内容的实际大小,一般比UIScrollView大,不然怎么滚动,也没有意义!

推荐阅读更多精彩内容