IOS中UIScrollView的contentSize、contentOffset和contentInset属性

来源:互联网 发布:手机测光软件 编辑:程序博客网 时间:2024/06/10 08:45

IOS中,UIScrollView是可以滚动的视图,常用的UITableView和UICollectionView就是继承了UIScrollView。

跟所有的view一样,也是一个视图,但是与一般的视图不一样的是UIScrollView还具有contentSize、contentOffset和contentInset属性。在学习中这个给好多初学者带来了一定的困惑 。下面具体解释一下:

首先是contentSize:UIScrollView是一个可以滚动的视图,也就是说这个视图可以显示我们能够看到的界面更多的内容。前面说UIScrollView也是视图,也就是说有frame(frame大家应该都懂,就是决定了咱们能够看到了视图的位置和大小),但是咱们可以看到的更多的内容是由什么决定的呢?就是由contentSize决定的。其实简单一些理解,就好比我们坐在窗户前面,火车从面前驶过。那么窗户的大小就决定了我们能够看多大,也就是frame。而火车有多长就决定了我们能看多少内容,也就是contentSize。

其次是contentOffset:UIScrollView当前显示区域的顶点相对于frame顶点的偏移量。一般分为X、Y两个方向。如果创建了一个可以上下滑动的视图。则向上滑动y的偏移量减小,反之变大,但是x方向的偏移量不变,因为它在x方向没有滑动。同理可以理解横向滑动的偏移量

最后就是contentInset,它的单位是UIEdgeInsets,由CGFloat top, left, bottom, right;  几个变量构成。分别代表着上边界,左边界,底边界,右边界。API文档的解释是"内容视图嵌入到封闭的滚动视图的距离",所以它是用于设置扩展出去的值。一般用于设置滚动视图显示的位置。

0 0