0

来自https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CGGeometry/Reference/reference.html#//apple_ref/doc/c_ref/CGSize

struct CGSize {
   CGFloat width;
   CGFloat height;
};
typedef struct CGSize CGSize;

CGSize 是一个朴素的 C 结构,不接受消息。

(在我的情况下)创建尺寸为 0 的 CGsize 的适当方法是什么?

如果我直接使用 C,那将是 calloc() 或诸如此类的用例。这个用例的 Objective-C 习惯用法是什么?

4

2 回答 2

4

您可以使用的具体情况

CGSize zeroSize = CGSizeZero;
CGSize zeroSize = (CGSize){ 0, 0 };
CGSize zeroSize = (CGSize){ .width = 0, .height = 0 };
CGSize zeroSize = CGSizeMake(0,0);

请记住,在许多情况下,Core Graphics 和 Core Foundation 等框架为您提供了CGSizeZero可以使用的常量,因此您通常不需要使用calloc.

于 2013-09-23T18:15:15.497 回答
2

获得两个维度都为 0 的最简单方法是常数,CGSizeZero

另一种方法是CGSizeMake(0,0)

于 2013-09-23T18:00:02.287 回答