JAVA边界布局和setbound_深入探究frame和bounds的区别以及setbounds使用

本文详细探讨了iOS开发中Frame和Bounds的区别,指出Bounds的原点始终为(0,0),而Frame的原点相对于父视图。通过示例代码和图片说明,解释了修改Bounds如何影响子视图的位置。此外,文章还讨论了Bounds改变Frame的情况,并提供了一个关于Bounds特性的应用案例,即在UITableViewCell中实现拉伸效果。" 102906510,8739545,适配器模式解析:从概念到Sharding-JDBC实践,"['设计模式', 'Sharding', '数据库', 'JDBC']
摘要由CSDN通过智能技术生成

在iOS开发中经常遇到两个词Frame和bounds,本文主要阐述Frame和bound的区别,尤其是bound很绕,很难理解。

一、首先,看一下公认的资料

先看到下面的代码你肯定就明白了一些:

-(CGRect)frame{

return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height);

}

-(CGRect)bounds{

return CGRectMake(0,0,self.frame.size.width,self.frame.size.height);

}

很明显,bounds的原点是(0,0)点(就是view本身的坐标系统,默认永远都是0,0点,除非调用了setbounds函数),而frame的原点却是任意的(相对于父视图中的坐标位置)。

二、再看一下斯坦福iOS教程视频中的图片

2f35ea616786a852d36eed37ab1e7cac.png

翻译如下:

frame: 该view在父view坐标系统中的位置和大小。(参照点是,父亲的坐标系统)

bounds:该view在本地坐标系统中的位置和大小。(参照点是,本地坐标系统,就相当于ViewB自己的坐标系统,以0,0点为起点)

centerÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值