在 Xcode 中,我使用目标来发布多个应用程序版本,这些版本共享一些基本代码并且往往具有不同的图形。
即。假装我有目标 JOHN
和目标 DOE
。我可以将完全命名为 example.png
的不同图像添加到包中,并分别针对每个图像。这样代码不需要任何更改。
UIImageView *image = [UIImageView alloc] initWithImage:[UIImage imageNamed:@"example.png"]];
如果我为每个不同版本的图像命名,我最终会得到类似这样的东西:
NSString *imageName;
#ifdef JOHN
imageName = @"johnExample.png";
#else
imageName = @"doeExample.png";
#endif
UIImageView *image = [UIImageView alloc] initWithImage:[UIImage imageNamed:imageName]];
拥有多个版本和许多图像,这很快就会变得困惑,并且拥有一个包含常量的巨大文件在我看来有点矫枉过正,所以我最终选择了第一个选项。
问题是:
在处理 nibs 文件时,Interface Builder 似乎只是随机加载 example.png
。因此,如果我正在处理目标 JOHN
,那么 IB 刚刚决定从 DOE
目标加载 example.png
会很烦人。
Interface Builder 有什么方法可以根据目标加载媒体?
最佳答案
为了结束这个问题,答案是:否。
截至 2011 年 1 月,您无法根据 Interface Builder 上的目标加载媒体,但您可以使用一些解决方法,正如 Digital Robot 和我自己在问题中的描述所指出的那样。
关于iphone - 界面生成器 : Choose media based on target,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4117022/