【发布时间】:2011-05-11 21:25:45
【问题描述】:
哪个更好用?我更喜欢 CGRect.size.width 因为它看起来更好。但是,我的同事说 CGRectGetWidth 更好。
【问题讨论】:
标签: objective-c uiview cgrect
哪个更好用?我更喜欢 CGRect.size.width 因为它看起来更好。但是,我的同事说 CGRectGetWidth 更好。
【问题讨论】:
标签: objective-c uiview cgrect
CGRectGetWidth/Height 将在返回它们之前标准化宽度或高度。归一化基本上只是检查宽度或高度是否为负数,如果是,则将其取反使其为正数。
【讨论】:
(0,0) 放在中心,所以左右边缘通常是负的,但右边缘和下边缘是正的。
CGRect 数据结构中的数据。”
矩形的宽度和高度可以是负数。我不知道这在实践中何时会成为现实,但根据Apple docs:
CGGeometry Reference 定义了几何图元的结构和 对它们进行操作的函数。数据结构CGPoint表示 二维坐标系中的一个点。数据结构 CGRect 表示矩形的位置和尺寸。数据 结构体CGSize表示宽高的尺寸。
存储在 CGRect 数据结构中的高度和宽度可以是 消极的。例如,原点为 [0.0, 0.0] 的矩形和 [10.0,10.0] 的大小完全等同于具有 [10.0, 10.0] 的原点和 [-10.0,-10.0] 的大小。你的申请 可以标准化一个矩形——即保证高度和宽度 存储为正值——通过调用 CGRectStandardize 功能。本参考资料中描述的所有函数都采用 CGRect 作为输入的数据结构隐式标准化这些矩形 在计算他们的结果之前。 因此,您的应用程序 应避免直接读写存储在 CGRect 数据结构。相反,使用此处描述的功能 操作矩形并检索它们的特征。
【讨论】: