全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

iOS view的frame和bounds之区别是什么?

发布时间:2023-10-15 14:01:38
发布人:xqq

一、Frame

Frame是UIView在其父视图坐标系中的位置和大小。它是一个CGRect类型的结构体,包含了视图的原点坐标和宽高信息。当我们改变一个视图的frame时,实际上是在修改它在父视图中的位置和大小,因此会影响到它的位置和显示。Frame的原点是相对于父视图的坐标系的,因此当父视图发生移动或变换时,子视图的frame也会相应地发生改变。

二、Bounds

Bounds是UIView在其自身坐标系中的位置和大小。它也是一个CGRect类型的结构体,通常情况下,它的原点都是(0, 0)。当我们改变一个视图的bounds时,实际上是在修改它自身坐标系的大小,而不会影响到视图在父视图中的位置和显示。Bounds的宽高是相对于视图自身的,因此当视图发生缩放时,它的子视图的bounds不会发生改变。

三、区别总结

Frame用于描述视图在其父视图坐标系中的位置和大小,可以改变视图的位置和大小,其原点是相对于父视图的坐标系的。Bounds用于描述视图在其自身坐标系中的位置和大小,用于改变视图的坐标系大小,其原点通常为(0, 0)。

延伸阅读

坐标系转换

在iOS开发中,由于UIView的Frame和Bounds属性描述了视图在不同坐标系中的位置和大小,所以涉及到坐标系转换是很常见的。

UIView提供了多种方法用于坐标系转换,如convertPoint:toView:convertPoint:fromView:用于点的转换,convertRect:toView:convertRect:fromView:用于矩形区域的转换等。

坐标系转换在处理视图嵌套、触摸事件处理等场景中非常有用,可以帮助我们准确地获取和设置视图在不同坐标系中的位置和大小。

#it技术干货

相关文章

目前有什么算法可以有效地解决SLAM中的纯旋转问题?

目前有什么算法可以有效地解决SLAM中的纯旋转问题?

2023-10-15
项目优势是什么?

项目优势是什么?

2023-10-15
存储管理中为什么要进行逻辑地址到物理地址的转换?

存储管理中为什么要进行逻辑地址到物理地址的转换?

2023-10-15
什么是协同?

什么是协同?

2023-10-15

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取