web-dev-qa-db-ja.com

AppIconのUIImageを取得する方法は?

アセットカタログを使用していますが、さまざまなサイズのアプリアイコンをアセットに追加してもかまいません。

しかし、プログラムでUIImageを取得しようとすると、nilが返されました。

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

アプリアイコンの名前はAppIcon(デフォルト)で、実際のファイルはapp-icon-256.pngなどです。

また、通常の画像とは異なり、アプリアイコンはAppIcon.appiconsetディレクトリの「アプリアイコン」セットに含まれていることにも気付きました。通常の画像はsomeimage.imagesetディレクトリにあります。

35
samwize

問題は、アセットカタログのAppIconがコンパイル後にカタログに配置されないことです。以前と同じように、それはあなたのアプリのバンドルにコピーされたと述べた。

アイコンをApp Bundleにコピーするときに使用される名前変換はAppIcon<size>.png、たとえばサイズは40x40または72x72

必要なアプリアイコンのサイズを指定して、アプリアイコンを取得できます。

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