iOS开发: 获取LaunchImage图片

  • 通过代码获取LaunchImage中与当前屏幕像素一致的启动图片
iOS开发: 获取LaunchImage图片_第1张图片
  • 具体代码
- (UIImage *)getLaunchImage {
    // 如果方法不存在直接返回
    if (![UIScreen instancesRespondToSelector:@selector(currentMode)]) return nil;
    // 当前屏幕像素
    CGSize viewSize = [UIScreen mainScreen].currentMode.size;
    // 竖屏
    NSString *viewOrientation = @"Portrait";
    // 获取所有启动图信息
    NSArray* imagesDict = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"];
    // 遍历的启动图信息
    for (NSDictionary* dict in imagesDict) {
        if ([viewOrientation isEqualToString:dict[@"UILaunchImageOrientation"]]) {
            // 获取图片名称
            NSString *imageName = dict[@"UILaunchImageName"];
            // 生成图片
            UIImage *image = [UIImage imageNamed:imageName];
            // 获取图片比例
            CGFloat scale = image.scale;
            // 获取图片真实像素
            CGSize imageSize = CGSizeMake(image.size.width * scale, image.size.height * scale);
            // 对比图片像素与屏幕像素, 如果一致, 返回图片
            if (CGSizeEqualToSize(imageSize, viewSize)) {
                return image;
            }
        }
    }
    return nil;
}

注意: 这里是通过图片的尺寸和屏幕比例计算出的图片像素值

你可能感兴趣的:(iOS开发: 获取LaunchImage图片)