gpt4 book ai didi

ipad - 在为 iPad 编译时是否设置了特定的 Xcode 编译器标志?

转载 作者:行者123 更新时间:2023-12-04 04:24:53 24 4
gpt4 key购买 nike

在为 iPad 编译时是否设置了特定的 Xcode 编译器标志?

我想有条件地编译 iPad vs iPhone/iPod Touch 代码,例如:

#ifdef TARGET_IPAD
code for iPad
#else
code for iPhone
#endif

我知道 TargetConditionals.h 中已经有 TARGET_OS_IPHONE 和 TARGET_CPU_ARM 但有什么可以轻松且专门针对 iPad 的吗?

-Rei

最佳答案

用于运行时检查 iPad 与 iPhone/iPad Touch 的正确 API 是:

BOOL deviceIsPad = ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad);

UIDevice 头文件管理器还包括一个方便的宏 UI_USER_INTERFACE_IDIOM(),如果您的部署目标是 < iPhone 3.2,这将很有帮助。
#define UI_USER_INTERFACE_IDIOM() ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] ? [[UIDevice currentDevice] userInterfaceIdiom] : UIUserInterfaceIdiomPhone)

所以你可以消极地说:
BOOL deviceIsPad = (UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPhone);

关于ipad - 在为 iPad 编译时是否设置了特定的 Xcode 编译器标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2159951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com