#define适用于不同的屏幕尺寸 - iPhone 4和iPhone 5

时间:2013-05-06 16:10:38

标签: ios objective-c c-preprocessor

我正在开发我的应用程序以优化iPhone 5的屏幕。我如何将#define用于两种不同的屏幕尺寸。

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

 #define ACTIVITY_RECT_X 14
 #define ACTIVITY_RECT_Y 70

对于iphone 4屏幕,我将使用以下值:

 #define ACTIVITY_RECT_X 23
 #define ACTIVITY_RECT_Y 80

2 个答案:

答案 0 :(得分: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);

希望它对你有所帮助。

答案 1 :(得分: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
}

希望它能帮到你