我有一个应用程序,效果很好。我已经复制了目标,所以我有2个非常相似的应用程序,功能略有不同 - 它不是一个精简版应用程序,而是同一种类型的主体。
我复制了很多图形并将它们添加到项目中。我可以将图像添加到我的.xib文件中,我看到它们很好,但是当我运行我的代码时,使用条件语句以编程方式更新图像视图以使用新图像,它不起作用! 代码运行但我在应用程序中看到的是空图像视图。因此它会更改图像视图的来源,但实际上并未显示帮助。
#ifdef OTHER_VERSION
[self.imgTitle setImage:[UIImage imageNamed:@"differentImage"]];
#endif
我知道 #ifdef OTHER_VERSION 代码有效,因为 稍后会更改我的应用的功能,它只是我遇到问题的图像
我是否需要更新项目或其他内容,或者将图像专门添加到新目标?
更新 我刚注意到这一点: 无法加载带有标识符“com.domain.SecondApp”的包中nib引用的“differentImage.png”图像
图像肯定存在于项目中,图像仅以某种方式与我复制的原始应用程序相关联,“com.domain.FirstApp”
答案 0 :(得分:4)
在Xcode中选择左侧的目标。在右侧,单击Build Phases。展开“复制包资源”并确保在那里列出所有图像(和其他资源)。
答案 1 :(得分:0)
我最近遇到的问题是图像目录中的图像只显示在一个目标中,而不是另一个目标中。图像目录在其目标成员资格中选择了两个目标,该目录是“复制捆绑资源”的一部分。两个目标都被正确命名。
经过一番挫折之后,我发现右键点击了未显示的图片并选择了“在Finder中显示”'将显示图像及其相关的Contents.json
文件。比较两者,我注意到没有显示的图像缺少多个filename:"my_file_name.png"
元素。
添加相关的filename
已解决此问题:
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "my_file_name.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}