IOS View中的frame,bounds和center

本文深入探讨iOS视图系统中的多个坐标系概念,包括superview、subview和当前view的坐标系,并详细解释了frame、bounds和center属性在布局管理中的作用。同时指出,当view的部分超出superview的bounds时,这部分仍会被渲染,但超出部分不会响应touch events。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先ios view系统中,存在多个坐标系,这个必须要意识到,比如superview的坐标系,subview的坐标系,当前view的坐标系等等。

1.frame

frame的属性中包括了一个矩形,frame rectangle。这个矩形含有的信息是父视图的坐标信息,也就是当前view所在superview中的位置;还有一个信息就是大小。

2.bouns

bounds的属性中也包含了一个矩形,bounds rectangle。这个矩形包括的信息有,size和content origin也就是里面内容的原点坐标,注意,这个坐标是指当前view的坐标系。

3.center

center 属性包含了一个center point 指当前view 的中心在superview坐标系中的位置。

补充,在设置一个view的位置时,一般用center,因为center值总是有效的。如果之前有过某个transform的设置,这时用frame调整位置,如果与tranzform中的不一致,将不会执行,而用center总会执行的。

另外,如果view的一部分超出了superview的bounds,那一部分还是会被渲染的,除非superview调用clipsToBounds 的值为true。而不管view的视图是否超出了superview,超出的那部分,都不会响应touch event事件。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值