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),

2011090401133327.jpg

posted @ 2015-04-23 11:26  沐雨十方07  阅读(6600)  评论(0编辑  收藏  举报