2013-05-06 86 views
0

我正在研究我的应用程序以优化iPhone 5的屏幕。我如何使用两种不同屏幕尺寸的#define。#define适用于不同的屏幕尺寸 - iPhone 4和iPhone 5

对于iPhone 5的屏幕,我将使用以下值:

#define ACTIVITY_RECT_X 14 
#define ACTIVITY_RECT_Y 70 

为iPhone 4的屏幕,我将使用以下值:

#define ACTIVITY_RECT_X 23 
#define ACTIVITY_RECT_Y 80 
+1

你不知道。 '#define'是一个编译时指令。检测设备是运行时要求。 – rmaddy 2013-05-06 16:11:34

+0

你是对的,非常感谢! – casillas 2013-05-06 16:38:01

回答

1
#define IS_IPHONE_5 (fabs((double)[ [ UIScreen mainScreen ] bounds ].size.height - (double)568) < DBL_EPSILON) 

if(IS_IPHONE_5) 
{ 
    //Do something in respect of iphone 5 
} 
else 
{ 
    //Do something in respect of iphone4s,iphone4 ,etc 
} 

希望它会帮助你

+0

非常感谢,非常感谢 – casillas 2013-05-06 16:38:29

1

以此为:

#define IS_IPHONE ([[[UIDevice currentDevice] model] isEqualToString:@"iPhone"]) 
#define IS_HEIGHT_GTE_568 [[UIScreen mainScreen ] bounds].size.height >= 568.0f 
#define IS_IPHONE_5 (IS_IPHONE && IS_HEIGHT_GTE_568) 

防爆:

NSLog(@"Height : %f",IS_IPHONE_5?80:60); 

希望它可以帮助你。

+0

非常感谢,非常感谢! – casillas 2013-05-06 16:39:00