XCode 4:多个目标,多个资源具有相同名称的图像的文件夹与共享Xib一起使用?

ita*_*ter 9 resources xcode target uiimageview xcode4

我创建了一个具有特定功能和特定图形外观的应用程序.

例如,自定义tableview单元格从Xib文件加载并具有UIImageView作为背景图像,从资源组加载粉红色图像("customcell.png").

现在,我已经复制了原始Target以创建应用程序的蓝色版本.此外,新Target正在使用自己的Info.plist文件及其自己的包标识符.

我希望Xib文件中的UIImageView使用相同的文件名("customcell.png"),但如果构建了蓝色Target,则需要使用蓝色版本的customcell.png.

我知道你不能在项目中拥有同名文件,即使你把它放在一个组(黄色文件夹)中,因为那只是一个逻辑文件夹.

所以我创建了2个蓝色文件夹(称为"蓝色"和"粉红色"),每个文件夹都与正确的目标相关联.我在"blue"文件夹中添加了蓝色版"customcell.png",在"pink"文件夹中添加了粉红色版"customcell.png".

我从项目中删除了原始的"customcell.png",只留下了新文件夹中的2个副本.

在Interface Builder中,UIImageView变为空白(因为我删除了原始图像文件),所以我从下拉列表中再次选择了"customcell.png".它只显示该名称的1个文件(不是2个),而它是蓝色的(不知道为什么).

但是,当我构建到任何目标时,我得到一个空的UIImageView和一个警告:

无法加载标识符为"com.myapp.blueversion"的包中nib引用的"customcell.png"图像

(或粉红色)

所以,基本上我的问题是, 我如何使用具有相同名称的不同图像,与不同的目标相关联,但是有1个Xib文件可以适当地加载它们?

非常感谢你!

kra*_*vil 3

您遇到的问题是您尝试使用蓝色文件夹,就好像它们是普通文件系统文件夹一样。蓝色文件夹实际上只是 IDE 中用于组织的文件组,并不代表“底层”的文件夹层次结构。

\n\n

右键单击一些图像以在 Finder 中查看它们,看看它是如何工作的,您会注意到默认情况下 2 个不同的蓝色组文件夹中的文件实际上位于同一目录中。

\n\n

如何使用一个 xib 为多个目标引用相同命名的图像:

\n\n
    \n
  1. 在 Finder 中,在找到 AppDelegate 的同一目录中创建一个新文件夹,\n可能以您的目标命名。
  2. \n
  3. 将该目标的所有图像存储在该文件夹中。
  4. \n
  5. 右键单击左上方窗格中的项目主组/文件夹,然后使用“将文件添加到\'XcodeProjectName\'\xe2\x80\xa6”。
  6. \n
  7. 在出现的上部窗格中,找到并选择您刚刚在文件系统上创建的文件夹。
  8. \n
  9. 您可以选中或取消选中“目标”框,因为文件已存在于您指定的位置。
  10. \n
  11. 保持选中“为任何添加的文件夹创建组”以创建蓝色组文件夹。
  12. \n
  13. 确保您的目标已被选中。
  14. \n
\n\n

只需对每个目标重复此过程即可。

\n\n

当您在 Xcode 中查看 xib 时,它将始终显示图像的一个版本,但当您运行应用程序时它将是正确的。

\n