- 通过代码获取
LaunchImage
中与当前屏幕像素一致的启动图片
- 具体代码
- (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;
}
注意: 这里是通过图片的尺寸和屏幕比例计算出的图片像素值