我已经实现了这个代码来定义我的常量:
#ifdef UI_USER_INTERFACE_IDIOM
#define IS_IPAD() (UI_USER_INTERFACE_IDIOM == UIUserInterfaceIdiomPad)
#else
#define IS_IPAD() (false)
#endif
#if (IS_IPAD)
CGFloat const scrollSizeWidth = 768.0f;
CGFloat const scrollSizeHeight = 1004.0f;
#else
CGFloat const scrollSizeWidth = 320.0f;
CGFloat const scrollSizeHeight = 460.0f;
#endif
但我的变量始终显示 320.0f 和 460.0f 。
更新 正如k3a用户发现UI_USER_INTERFACE_IDIOM不适用于iOS 8.3,因为它不再是定义它是静态内联。
检查这个答案: link
答案 0 :(得分:3)
变化:
#ifdef UI_USER_INTERFACE_IDIOM
#define IS_IPAD() (UI_USER_INTERFACE_IDIOM == UIUserInterfaceIdiomPad)
#else
#define IS_IPAD() (false)
#endif
到
#ifdef UI_USER_INTERFACE_IDIOM
#define IS_IPAD (UI_USER_INTERFACE_IDIOM == UIUserInterfaceIdiomPad)
#else
#define IS_IPAD (false)
#endif
答案 1 :(得分:2)
如果UIUserInterfaceIdiomPad
不是预处理程序符号,则它不能用于预处理程序条件。