Je sais que c'est une nouvelle fonctionnalité et que cela n'est peut-être pas possible, mais j'aimerais pouvoir utiliser un catalogue d'actifs pour organiser mes actifs, mais j'accède à toutes mes images par programmation. Comment accéder à mes images maintenant? Dois-je toujours y accéder par leurs noms de fichiers comme ceci:
[UIImage imageNamed:@"my-asset-name.png"];
Apparemment, le catalogue de ressources ne fait pas référence à l'extension, alors serait-il plus efficace d'y accéder sans le ".png"?
La raison pour laquelle je demande au lieu de tester par moi-même est que même après avoir supprimé mes actifs et mon catalogue d'actifs, puis nettoyé le dossier de construction, je peux toujours accéder à mes actifs dans mon application. Cela m'empêche de tester le catalogue d'actifs lorsque je l'implémente.
Après avoir parcouru le catalogue d'actifs, j'ai trouvé le "Contents.json" pour chaque actif et il est formaté comme suit:
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "[email protected]"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Je ne sais toujours pas comment je devrais y accéder, mais peut-être que cela aidera?
la source
UIImage
. Et d'après ce que j'ai vu, non, car chaque image de catégorie dans le groupe peut être une image complètement différente, il n'y aura donc pas d'informations générales, comme le découpage, disponibles. Ou est-ce que je manque quelque chose?UIImage(named: imageName)
Apple a également ajouté une nouvelle façon d'obtenir une image à partir d'actifs avec Swift 3, il s'appelle `` Image Literal '' et fonctionne comme ci-dessous:
la source
Rapide
Vous pouvez obtenir une référence à une image dans votre catalogue d'actifs avec
Vous n'avez pas besoin d'inclure l'extension.
la source
@RileyE a raison à 100%. Cependant, d'après mes expériences, il convient également de noter que parfois la référence du catalogue d'actifs pour l'image peut contenir un espace blanc de fin. Vous ne remarquerez probablement pas si l'utilisation de storyboards / xibs car la complétion automatique l'ajoutera. Mais quand vous le référencez à partir du code, le problème n'est pas si évident.
la source