web-dev-qa-db-fra.com

Comment obtenir UIImage d'AppIcon?

J'utilise le catalogue des actifs, et l'ajout d'une icône d'application de différentes tailles aux actifs est correct.

Mais lorsque j'ai essayé d'obtenir le programme UIImage par programme, il est revenu à zéro.

UIImage *appIcon = [UIImage imageNamed"AppIcon"];

L'icône de l'application est nommée AppIcon (valeur par défaut) et les fichiers réels sont app-icon-256.png etc.

J'ai également remarqué que contrairement aux images normales, les icônes d'application sont dans un ensemble "Icône d'application", dans le répertoire AppIcon.appiconset. Les images normales sont dans le répertoire someimage.imageset.

35
samwize

Le problème est que l'AppIcon du catalogue d'actifs n'est pas placé dans le catalogue après la compilation. Il a été copié dans votre bundle d'applications, comme auparavant.

La conversion de nom utilisée lors de la copie de l'icône dans le groupe d'applications est AppIcon<size>.png, où la taille est par exemple 40x40 ou 72x72

Vous pouvez obtenir les icônes de vos applications en spécifiant la taille de l'icône de l'application que vous souhaitez:

UIImage *appIcon = [UIImage imageNamed:@"AppIcon40x40"];
67
rckoenes