iOS 获取 xcassets 中的图片(App icon和启动页)

有时候我们在项目中可能会使用到 APP 的 Logo 图片(App icon)和启动页图片,所以这时如果我们使用的是 xcassets 来设置Logo 图片(App icon)和启动页图片的话,我们在程序中就可以直接使用:

  • 获取 Logo(App icon)

NSDictionary *infoPlist = [[NSBundle mainBundle] infoDictionary];
NSArray *icons = [infoPlist valueForKeyPath:@"CFBundleIcons.CFBundlePrimaryIcon.CFBundleIconFiles"];

// icons 获取到的就是当前设备使用的 Logo 图片名称,这时我们需要使用的话,则获取其中的图片。

  • 获取启动页图片
NSArray *lauchImages = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"];
// lauchImages 获取到的就是项目中使用的启动页图片
// 我们可以遍历这个数组,然后和当前设备的尺寸比较,得到当前设备的启动页图片
for (NSDictionary *dic in lauchImages)  {
  /* *字典中 key 的含义:
    * UILaunchImageSize:启动页图片大小
    * UILaunchImageOrientation:启动页图片支持的屏幕方向(Portrait:竖屏;Landscape:横屏)
    * UILaunchImageName:图片名字
  **/ 
  CGSize imageSize = CGSizeFromString(dic[@"UILaunchImageSize"]);
  if (CGSizeEqualToSize(imageSize, UIScreen.mainScreen.bounds.size)) {
    // 当前设备的启动图
    // 如果项目支持横屏和竖屏的话,可以再通过“UILaunchImageOrientation”判断
  }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 总述: 两种方式,一种是使用系统自带的,按规则定义启动图片名称即可,显示为1秒,要想延长时间,用[nsthread...
    Kevin_Junbaozi阅读 3,964评论 0 2
  • 祥子自述 王昭慧 我的老家在乡间,18岁时,父母已经去世,我便来到北平赚钱谋生。卖力做过的事儿确实不少,最后我还是...
    精品的力量阅读 5,069评论 0 0
  • 老家的庭院里,站着一棵老槐树,百年以来,承欢纳凉,颇得家人的喜爱。老槐树干崎岖,向上伸展,枝干恣意横斜,作逍遥之...
    殊同阅读 3,118评论 4 4

友情链接更多精彩内容