在iOS开发中,frame
和bounds
是两个常用的属性,用于描述视图的位置和大小。它们之间的区别如下:
frame
是指视图在其父视图坐标系统中的位置和大小。它的坐标是相对于父视图的左上角原点的。frame
属性包含了视图的origin
(x和y坐标)和size
(宽度和高度)。bounds
是指视图在其自身坐标系统中的位置和大小。它的坐标是相对于视图自身的左上角原点的。bounds
属性只包含了视图的origin
为(0, 0)和size
(宽度和高度)。
总结来说,frame
描述了视图在父视图坐标系统中的位置和大小,而bounds
描述了视图在自身坐标系统中的位置和大小。因此,当视图发生旋转或缩放时,frame
会随之改变,而bounds
保持不变。
需要注意的是,frame
和bounds
属性都是CGRect
类型的结构体。CGRect
结构体包含origin
和size
属性,分别表示视图的起点和大小。