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”判断
  }
}

你可能感兴趣的:(iOS 获取 xcassets 中的图片(App icon和启动页))