iOS Frame与bounds的区别与联系

直接说Frame与bounds的区别与联系不太好说。

不如看看各自的内部有什么吧。还有影响。

先说Frame

在Frame中,你可以"点出"origin,也就是位置。origin中有两个值,一个是x,一个是y,不用多说,也知道什么意思。

还可以"点出"size,也就是大小。size中有两个值,一个是width,一个是height,是指当前view的宽高。


在bounds中,你也可以"点出"origin和size,同样的,origin和size中的值和Frame中的值是一样的。

区别呢?

bounds.origin中的x、y不会对当前的视图位置产生影响,而是影响其内部的view,也就是影响当前view的子视图在其内部的位置。

而frame.origin中的x、y是影响当前view在其父控件中的位置。对于当前view的子视图没有影响,即改变当前frame不会影响其子控件在其内部的位置。

这是bounds与frame的区别。那么bounds与frame中的size呢,也就是width和height呢?

其实bounds.size就等于frame.size。

需要补充的是

当使用[view setFrame:CGRectMake(100,100,100,100)];设置好view的位置后,再使用setBounds改变了view的size(宽高),那么,view在父控件的位置会发生改变,改变的原则是:view的中心不发生改变,即改变宽高后的view的中心依然在原来位置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值