5

当您在该属性中想要的唯一信息是该属性的大小时,是否有理由说明UIView(an NSView) 的 bounds 属性是 a 。CGRectCGRect

它只是绘图的快捷方式,因为您需要CGRect绘图时吗?或者只是一个非常具体的特殊情况,其中originbounds可能不是{0, 0}

4

2 回答 2

7

frame指定视图相对于父视图的位置,同时指定bounds允许视图相对于框架绘制的位置。

通过更改bounds原点和/或宽度,您可以获得剪辑,例如,或在视图之外绘制。

即,边界原点通常为 (0,0),但不一定总是如此,就像您进行剪辑时一样。

此外,bounds被仿射变换使用而不是 ,frame它表示变换后的位置,其原点也可能不同于 (0,0);

于 2011-07-02T16:24:03.670 回答
0

界限

边界在 UIView 内部意味着宽度和高度。

(宽度,高度);

框架

frame 是相对于它的 superview 和它的边界应该开始的地方

(从 x,从 y,宽度,高度);

从superview的起点+它的界限

于 2011-07-02T16:27:16.557 回答