iOS开发之 UIScrollView的frame、contentSize、contentOffset和contentInset属性
ios中下拉图片变大效果
http://blog.csdn.net/mad2man/article/details/14169197
IOS中UIScrollView的frame、contentSize、contentOffset和contentInset属性
(1) frame :是指scrollview的可视范围(可看见的区域)。
(2)contentsize :是其滚动范围。UIScrollView所有内容的尺⼨寸,也就是告诉 它滚动的范围(能滚多远,就滚多远)
(3)contentinset :为UIScrollView增加额外的滚动区域。(上,左,下,右)逆时针。
(5)contentoffset :是个CGpoint类型的结构体,用来记录ScrollView的滚动位置,即记录着“框”跑到了哪里。知道了这个属性,就知道了其位置,可以通过设置这个属性来控制这个“框”的移动。坐标值,会随着用户滑动内容视图,而改变。
contentInset是scrollview的contentview的顶点相对于scrollview的位置
设置内容位置{top, left, bottom, right};// 增加额外的滚动区域(逆时针,上、左、下、右)
scrollView.contentInset = UIEdgeInsetsMake(50, 0, 0, 0);
这样定义后,内容视图开始显示的坐标为(0,51)
contentOffset 的默认点为 CGPointZero
下面具体解释一下。
就像两张重叠在一起的纸,上面的纸中间有个320*480的屏幕状的洞,然后下面的纸可以无限大,显示是内容,你可以将手指通过这张洞来移动下面的纸,来阅读上面的信息,所以,懂了吧。
contentOffset是UIScrollView当前显示区域的顶点相对于frame顶点的偏移量,
值得注意的是:
1.内容视图的contentOffset为负数时,在滚动视图中是看不到的。
contentSize 是scrollview中的一个属性,它代表scrollview中的可显示区域,假如有一个scrollview,它的frame为(0,0,320,480),而它的contentSize为(320,960).也就是说,这个scrollview整个内容的大小为(320,960),要通过上下滑动scrollview来查看(320,480)后的内容。
contentOffset 是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,480),也就是y偏移了480
contentInset 是scrollview中contentView.frame.origin与scrollview.frame.origin的关系,比如contentView的frame为(0,30,320,480),那么contentInset则为(0, 30),