如何使用这个宏

时间:2014-02-11 12:12:11

标签: ios iphone

大家好我在.pch

中定义了这些
#define HIDE_TABBAR
#define SHOW_TABBAR

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

并且

#if IS_IPHONE_5
HIDE_TABBAR=568 
#else
HIDE_TABBAR=480 
#endif

#if IS_IPHONE_5
SHOW_TABBAR=519
#else
SHOW_TABBAR=431
#endif

基本上我想做的是检查屏幕是否是iphone 5,并根据屏幕尺寸设置定义变量并在.m代码中使用它。你能告诉我怎样才能实现这个目标吗?

2 个答案:

答案 0 :(得分:2)

这样做

   if(IS_IPHONE_5)
    {
      // for iphone 5
    }
    else
    {
        // for non iphone 5
    }

编辑:( wrt:避免在我的代码中使用if / else)使用Ternary operation

答案 1 :(得分:1)

像这样:

const int HIDE_TABBAR = IS_IPHONE_5 ? 568 : 480;
const int SHOW_TABBAR = IS_IPHONE_5 ? 519 : 431;

甚至:

const int HIDE_TABBAR = IS_IPHONE_5 ? 568 : 480;
const int SHOW_TABBAR = HIDE_TABBAR - 49;

如果你真的必须使用宏(这是糟糕的编程,但嘿,这是你的应用程序):

#define HIDE_TABBAR (IS_IPHONE_5 ? 568 : 480)
#define SHOW_TABBAR (HIDE_TABBAR - 49)