具有多个目标和多个资产目录的Xcode项目

mad*_*man 8 xcode asset-catalog

我有一个包含两个目标的项目:目标A和目标B.这个目标生成的应用程序"相等"但不同的皮肤(不同的颜色和图像)

为此,项目有两个资产目录,它们相同但内部有不同的图像.每个资产目录都分配给相应的目标.

这完美地工作,我可以生成两个应用程序,但在编辑故事板和分配图像时,我只能看到第一个资产目录中的图像.

有没有办法看到或"预览"具有不同目录的故事板?

小智 2

我们可以有多个资产目录。

\n\n

我们有 \xe2\x80\x98Alphabets\xe2\x80\x99 项目,在这个项目中,我们有三个目标 - 三个应用程序。\nA、B 和 C。

\n\n

现在默认值为 \xe2\x80\x98Assets.xcassets\xe2\x80\x99 ,位于主目录中。

\n\n

例如:我的项目/Alphabets/Assets.xcassets - 所有目标

\n\n

您还可以在层次结构中创建尽可能多的 xcasset。\n下面列出了一些示例。

\n\n
\n
My Projects/Alphabets/One/A/1A.xcassets - A Target\n\nMy Projects/Alphabets/Two/B/2B.xcassets - B Target\n\nMy Projects/Alphabets/Three/C/3C.xcassets - C Target\n
Run Code Online (Sandbox Code Playgroud)\n
\n\n

当您向该 xcassets 添加任何资源时,请确保 Xcode 中显示的名称与添加时的实际图像名称相同。之后,您将能够使用图像名称方法来使用它。

\n\n
if target == "A" {\n   let imageView = UIImageView(image: UIImage(named: "a"))\n}\nif target == "B" {\n  let imageView = UIImageView(image: UIImage(named: "b"))\n}\nif target == "C" {\n  let imageView = UIImageView(image: UIImage(named: "c"))\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

请检查此处所附的屏幕截图。

\n\n

第一步

\n\n

第二步

\n\n

第三步

\n