从xcassets加载应用程序图标

hpi*_*que 21 ios ios7 xcode5

我想在我的应用程序中显示应用程序图标.该图标位于默认资产目录(Images.xcassets)中.

你怎么装它?我尝试了以下内容,他们都返回nil:

image = [UIImage imageNamed:@"AppIcon"];
image = [UIImage imageNamed:@"icon"];
image = [UIImage imageNamed:@"icon-76"];
image = [UIImage imageNamed:@"icon-60"];
Run Code Online (Sandbox Code Playgroud)

资产目录中的其他图像按预期工作.

hpi*_*que 23

通过检查捆绑包,我发现图标图像被重命名为:

AppIcon76x76~ipad.png
AppIcon76x76@2x~ipad.png
AppIcon60x60@2x.png
Run Code Online (Sandbox Code Playgroud)

等等.

因此,使用[UIImage imageNamed:@"AppIcon76x76"]或类似的作品.

这是在某处记录的吗?


Ort*_*ntz 15

我建议通过检查来检索图标URL,Info.plist因为不能保证图标文件的命名方式如下:

NSDictionary *infoPlist = [[NSBundle mainBundle] infoDictionary];
NSString *icon = [[infoPlist valueForKeyPath:@"CFBundleIcons.CFBundlePrimaryIcon.CFBundleIconFiles"] lastObject];
imageView.image = [UIImage imageNamed:icon]; 
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我们将获取CFBundleIconFiles数组的最后一个图像URL.它具有最大的分辨率.如果您需要更小的分辨率,请更改此项.