本文主要是介绍ScrollView contentInset 和 contentOffset和frame 之间的含义,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
contentOffset 属性
官方解释:
contentOffset
The point at which the origin of the content view is offset from the origin of the scroll view.
是一个坐标点,这个坐标点是滚动视图中内容视图所在的坐标点。
换个思路理解:
可以把滚动视图看成是两层:“UIScrollView外壳” 和 “内容视图”
contentOffset属性是UIScrollView外壳内部,显示内容所在的坐标点。
如下图:
也就是说,滚动视图中,用户滚动时,滚动的是内容视图,而contentOffset坐标,指代的就是内容视图的坐标。
contentOffsetCGPointZero
值得注意的是:
1.contentOffset 坐标值,会随着用户滑动内容视图,而改变。
2.内容视图的contentOffset为负数时,在滚动视图中是看不到的。
contentSize是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。
contentOffset是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,480),也就是y偏移了480
contentInset是scrollview的contentview的顶点相对于scrollview的位置,例如你的contentInset = (0 ,100),那么你的contentview就是从scrollview的(0 ,100)开始显示
_scrollView.contentInset = UIEdgeInsetsMake(6.0f, 7.0f, 7.0f, 50.0f);
注意:
文档中写道 UIEdgeInsets UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)
由此可知, contentInset是以_scrollView为对象,对contentview的 上下左右距离进行缩合;最终剩下的中心部分的区域就是contentview的大小
这篇关于ScrollView contentInset 和 contentOffset和frame 之间的含义的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!