gpt4 book ai didi

iphone - ipad预编译器

转载 作者:行者123 更新时间:2023-11-29 05:07:47 25 4
gpt4 key购买 nike

大家好,

在 xcode 中,我尝试加载不同的 nib 文件,以防我使用 iphone/ipod 或 ipad。

我有一个 Define.h 文件,其中包含所有枚举和常量,因此我想在其中放入一种(显然是错误的,因为我不知道该怎么做):

#if IPHONE  // <-- can I intercept the Active Executable here ?
#define MY_VIEW @"TableViewIphone.xib"
#else
#define MY_VIEW @"TableViewIpod.xib"
#endif

然后在我的 View Controller 中包含 Define.h

[[NSBundle mainBundle] loadNibNamed:MY_VIEW owner:self options:nil];

我需要使用设备模拟器来执行此操作,有没有办法拦截 xcode 中“事件可执行文件”中的内容并拥有一组专门的定义?还有其他更简单的选择吗?

谢谢

最佳答案

您想要做的是在运行时选择适合设备的 xib。

您正在做的是一个编译时选择,它将设置 xib 用于所有设备,这不是您想要的。

我假设您正在构建一个通用应用程序,是吗?

我更喜欢在应用程序的 Info.plist 文件中使用正确的 key (即 NSMainNibFile~ipad)启动应用程序时让设备加载适当的 xib。 (例如,我将 NSMainNibFile~ipad 设置为 MainWindow-iPad...注意:没有“.xib”位)

另一种选择是使用 UI_USER_INTERFACE_IDIOM 宏:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
// Load iPad xib
}
else
{
// Load iPhone xib
}

关于iphone - ipad预编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3730952/

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