Is there any way to use asset catalog groups to effectively namespace multiple images with a shared name?
For example, if I have multiple images named Foo
that are in different groups, is there a way to specify which one I would like with imageNamed:
(i.e. something like UIImage(named:"Group1.Foo")
).
Obviously I could create unique names myself for all images, but it would be nice if there was a way to leverage groups to do it for me.
Select each folder in your asset catalog that you'd like to add a namespace for. Go to the folder attributes and select under the name "Provides Namespace". This should properly set sub-directories for your final asset catalog.
You can do this manually by editing each folder's Contents.json. You would add the following with proper formatting.
"properties" : {
"provides-namespace" : true
}
(based on Xcode 10.1)
1) Select the asset catalog folder.
*The folder is yellow if "Provides Namespace" is false.
2) Make sure the Inspectors panel is visible
3) In the Inspectors panel, select the Attributes Inspector. Check the "Provides Namespace" checkbox.
Notice that the folder icon turns blue indicating that "Provides Namespace" is true.
When referencing the image in code, remember to include the namespace.
let image = UIImage(named: "Icon/Menu")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With