【问题标题】:Adding multiple resources with the same name to Xcode for iPhone将多个同名资源添加到 Xcode for iPhone
【发布时间】:2025-12-14 15:25:01
【问题描述】:

是否可以对资源组中的图像使用双重名称?

谢谢:)

【问题讨论】:

  • 什么是“双名”?
  • 例如“/cars/background.png”、“/bikes/background.png”。但是当我在我的代码或 Interface Builder 中使用它时,我只会得到一个“background.png”..

标签: iphone resources ios


【解决方案1】:

您可以拥有多个同名资源,只要 (1) 它们不在同一个目录中,并且 (2) 您已通过引用将这些资源添加到您的 Xcode 项目中。

(1) 因为没有目录可以包含两个同名文件

(2) 因为 Xcode 尊重通过引用添加的目录的目录结构(如果您直接将其添加到项目中,Xcode 会将所有内容都扔到应用程序包的根级别)

【讨论】:

  • 好的,谢谢,但在 Interface Builder 我只看到 1 个同名的图像,但我在不同的组中添加了 2 个同名的图像。在一些 Objective-C 代码中,我使用“test.png”而不是“cars/test.png”和组名,对不起,我有点困惑。
  • 详细说明:添加“汽车”作为“文件夹参考”(当您将其拖入 Xcode 时,它​​会为您提供选项)并使用 imageNamed:"cars/background.png" 加载图像。请注意,这可能会遗漏一个重要步骤:它不会在图像上运行 pngcrush -iphone(它只是复制目录内容),因此它们在设备上的加载速度可能会变慢。
  • 避免将这种方法直接用于您的资源文件夹,否则您的构建将失败。 Resources 中的其他参考文件夹似乎没问题。
  • 能否详细说明如何通过引用添加?我正在添加带有标记的参考复选框的文件,但在构建时仍然出现错误。即使使用旧版本。