我正在尝试使用 Preprocessor-Ifs 检查设备是否为 iPad。如果它是 iPad,我想定义一些特定于设备的内容,但由于某种原因,我无法检查 PP-IF 是否 PP-Constant 为 true。
也许你有什么想法?
#ifdef UI_USER_INTERFACE_IDIOM
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#else
#define IS_IPAD false
#endif
#if IS_IPAD
#define WIDTH 768
#define HEIGHT 1024
#else
#define WIDTH 320
#define HEIGHT 480
#endif
最佳答案
预处理器规则是在构建应用程序之前处理的(令人惊讶,令人惊讶)。由于它是通用应用程序,因此尚不知道它是在 iPad 还是 iPhone 上运行。
使用这个:
#ifdef UI_USER_INTERFACE_IDIOM
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#else
#define IS_IPAD false
#endif
#define WIDTH (IS_IPAD ? 768 : 320)
#define HEIGHT (IS_IPAD ? 1024 : 480)
关于objective-c - 预处理器-IF 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7027168/