LoginSignup
8
5

More than 3 years have passed since last update.

Asset Catalogで同じ名前の別画像を利用する

Posted at

はじめに

  • Xcodeのアセットカタログ(デフォルトではAssets.xcassets)は、画像などのリソースを管理します
  • アセットカタログ内で、フォルダ分けも可能です
  • その際、別のフォルダに同じ名前の画像を置きたくなることもあります
  • その場合の扱い方です

検証環境

  • Xcode 10.2.1
  • iOS 12.2
  • Swift 5

フォルダにNamespaceを付与する

デフォルトの状態(Namespaceなし)

no_namespace.png

  • この画像の例では、birdという画像がforestフォルダとseaフォルダの両方に配置されています
  • ですが、デフォルトの状態ではフォルダ名は無視されるので、これらの画像にはbirdという名前でアクセスすることになり、区別ができません

フォルダ名付きでのアクセス(Namespaceあり)

with_namespace.png

  • アセットカタログ内でフォルダを選択し、Attributes InspectorからProvides Namespaceにチェックを入れると、そのフォルダ名がNamespaceとして利用されます
    • フォルダの色も黄色から水色に変わっていますね
  • この画像の例では、それぞれforest/birdsea/birdという名前で区別されます
  • こんな感じで、コード内でもInterface Builderでも参照できます

    imageView.image = index == 0 ? UIImage(named: "forest/bird") : UIImage(named: "sea/bird")
    

    image_ib.png

まとめ

参考

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5