contentSize、contentInset、contentOffset的区别


在项目中经常会使用到contentSize、contentInset、contentOffset 这三个属性,时间一长很容易被搞混,打算记一下。

我们首先了解下什么叫frame 与 bounds 、center 属性。

我们来先看一张图




frame 是 x、y、width、height 相当于 左边图:(40、40、240、380)

bounds 是 width、height  x与y 默认都是0  相当于 右边图 (0、0、240、380)

center 是一个View的中心,默认是这个view对应的superview 坐标的中间值 

相当于 左边图:(160、230)




说完了上面的 该说正题了。


contentSize:

contentSize是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。


contentInset:

contentInset的单位是UIEdgeInsets,默认值为UIEdgeInsetsZero,也就是没有扩展的边。
UIEdgeInsets 设置包围tableView的坐标,typedef struct UIEdgeInsets {
CGFloat top, left, bottom, right;  // specify amount to inset (positive) for each of the edges. values can be negative to 'outset'
} UIEdgeInsets;
代表 上、 左、 下、 右 四个方向扩展出去的值。


contentOffset:
contentOffset是UIScrollView当前显示区域的顶点相对于frame顶点的偏移量,例如上面的例子如果拉到最下面,则contentOffset就是(0, 480),也就是y偏移了480.





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值