首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取AppIcon的UIImage?

如何获取AppIcon的UIImage?
EN

Stack Overflow用户
提问于 2014-04-02 18:23:21
回答 2查看 17.8K关注 0票数 43

我正在使用资产目录,并添加各种大小的应用程序图标到资产是可以的。

但是,当我尝试以编程方式获取UIImage时,它返回nil。

代码语言:javascript
复制
UIImage *appIcon = [UIImage imageNamed"AppIcon"];

应用程序图标被命名为AppIcon (默认),实际的文件是app-icon-256.png等。

我还注意到,与普通图片不同的是,应用程序图标位于AppIcon.appiconset目录下的“应用程序图标”集中。普通图像位于目录someimage.imageset中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-02 18:32:28

问题是,在编译之后,资产目录中的AppIcon没有放在目录中。它复制到你的应用程序包中,就像以前一样。

将图标复制到应用程序包时使用的名称转换为AppIcon<size>.png,其中大小为例如40x4072x72

您可以通过指定所需应用程序图标的大小来获取您的应用程序图标:

代码语言:javascript
复制
UIImage *appIcon = [UIImage imageNamed:@"AppIcon40x40"];
票数 73
EN

Stack Overflow用户

发布于 2021-01-24 01:43:19

现代>iOS10的答案是:

复制并粘贴此扩展。

代码语言:javascript
复制
extension Bundle {
  
  public var icon: UIImage? {
    
    if let icons = infoDictionary?["CFBundleIcons"] as? [String: Any],
       let primary = icons["CFBundlePrimaryIcon"] as? [String: Any],
       let files = primary["CFBundleIconFiles"] as? [String],
       let icon = files.last
    {
      return UIImage(named: icon)
    }
    
    return nil
  }
}

那就叫这个吧:

代码语言:javascript
复制
Bundle.main.icon

SwiftUI

代码语言:javascript
复制
Image(uiImage: Bundle.main.icon ?? UIImage())
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22808416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档