[英]Objective-C preprocessor directive issues
我已经实现了用于定义常量的代码:
#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,因为它不再是定义,而是静态内联。
还要检查此答案: 链接
更改:
#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
如果UIUserInterfaceIdiomPad
不是预处理器符号,则不能在预处理器条件中使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.