2013-05-06 130 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