Ios 更改#定义iPhone与iPad的值
我正在尝试为iPhone制作一个通用应用程序。我在*.m文件中有几个#define值Ios 更改#定义iPhone与iPad的值,ios,iphone,objective-c,ipad,Ios,Iphone,Objective C,Ipad,我正在尝试为iPhone制作一个通用应用程序。我在*.m文件中有几个#define值 #define VERTICAL_GAP_SIZE 120 #define FIRST_OBSTACLE_PADDING 100 #define OBSTACLE_MIN_HEIGHT 60 #define OBSTACLE_INTERVAL_SPACE 130 在代码中,它是这样使用的(还有很多其他地方) 现在,如果我在iphone上运行我的应用程序,这些值都很好。对于iPad,我想改变这些值,但我不知道如
#define VERTICAL_GAP_SIZE 120
#define FIRST_OBSTACLE_PADDING 100
#define OBSTACLE_MIN_HEIGHT 60
#define OBSTACLE_INTERVAL_SPACE 130
在代码中,它是这样使用的(还有很多其他地方)
现在,如果我在iphone上运行我的应用程序,这些值都很好。对于iPad,我想改变这些值,但我不知道如何改变?我的意思是,如果我尝试这一点,它是一个编译器错误
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
{
//its iphone
}
else
{
//its ipad
VERTICAL_GAP_SIZE = 120
}
我不想只为iPad创建新的定义,因为我的代码中很多地方都在使用这些值 实际上您不能,因为
#define
是可预编译的marco,并且在您检查用户界面idiom
时在运行时不可用,谢谢。我想我应该把这些定义改成静态int,对吧?对未来的人来说,就像rckoenes说的那样,这是不可能做到的。我不得不将define改为static int,然后进行iPhone与ipad的对比检查
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
{
//its iphone
}
else
{
//its ipad
VERTICAL_GAP_SIZE = 120
}