【发布时间】:2021-12-06 14:10:38
【问题描述】:
我知道这不是一种好的编码方式,但是我正在制作从Obj-C 到Swift 的游戏,但我正在努力让它正确运行我的设备只是为了让我可以回去参考所有内容。
所以,这实际上是一种临时措施!我定义了几个宏,
#define BTNNUMBER_W 60
#define BTNNUMBER_H 60
它们在代码中被引用,在一个我真的无法拆分 if/else 语句的区域,所以想有效地调试使用;
if(IS_IPHONE_OLD)
{
#define BTNNUMBER_W 60
#define BTNNUMBER_H 60
}
else if (IS_IPHONE_5)
{
#define BTNNUMBER_W 60
#define BTNNUMBER_H 60
}
else if (IS_IPHONE_6_6S_6P_6SP_7_8)
{
#define BTNNUMBER_W 30
#define BTNNUMBER_H 30
NSLog(@"iPhone 6 to 8");
}
else if (IS_IPHONE_7P_8P)
{
#define BTNNUMBER_W 60
#define BTNNUMBER_H 60
NSLog(@"iPhone 7P to 8P");
}
else if (IS_IPHONE_X)
{
#define BTNNUMBER_W 110
#define BTNNUMBER_H 110
}
正如已经说过的,实际上只是为了再次“让它工作”,而我重新做这一切,但任何指针都会非常有义务!
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IDIOM UI_USER_INTERFACE_IDIOM()
#define IPAD UIUserInterfaceIdiomPad
#define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width)
#define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height)
#define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGHT))
#define SCREEN_MIN_LENGTH (MIN(SCREEN_WIDTH, SCREEN_HEIGHT))
#define IS_IPHONE_OLD (IS_IPHONE && SCREEN_MAX_LENGTH == 480.0)
#define IS_IPHONE_5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0)
#define IS_IPHONE_6_6S_6P_6SP_7_8 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0)
#define IS_IPHONE_7P_8P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0)
#define IS_IPHONE_X (IS_IPHONE && SCREEN_MAX_LENGTH == 812.0)
【问题讨论】:
标签: ios objective-c