如何在Object-C的struct中使用宏定义值?

时间:2013-10-10 13:13:00

标签: objective-c macros struct

在pch文件中定义:

#define VIEW_HEIGHT_HALF (([[UIScreen mainScreen] bounds].size.height-568)?240:284)

然后我将在.m文件中使用它:

struct CGRect gPlayerBox[] =
{
    //  x,  y         width,      height
    {   40, 40,         320-80,     VIEW_HEIGHT_HALF - 40-32 }, // player 1 box
    {   40, VIEW_HEIGHT_HALF+33, 320-80,    VIEW_HEIGHT_HALF - 40-32 }  // player 2 box
};

但它会抛出错误: Initializer元素不是编译时常量

我们知道如何解决它吗? 在此先感谢!!!

1 个答案:

答案 0 :(得分:0)

感谢Mitchell和Bafna。 最后,我使用不同的参数定义了两个不同的结构。 并尝试使用它们由宏标志" IS_IPHONE5"。

确定