2

我已经实现了这个代码来定义我的常量:

#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.0f460.0f

更新: 由于 k3a 用户发现 UI_USER_INTERFACE_IDIOM 不适用于 iOS 8.3,因为它不再是静态内联定义。

也检查这个答案: 链接

4

2 回答 2

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
于 2012-07-18T11:57:42.147 回答
2

如果UIUserInterfaceIdiomPad不是预处理器符号,则不能在预处理器条件中使用。

于 2012-07-18T11:59:35.057 回答