iOS获取启动图

有时候我们需要显示项目的启动图来过渡到某些页面,但是不同屏幕下的启动图尺寸是不一样的,总不能把每一种尺寸的启动图都复制一份添加到Assets.xcassets里面。但是根据启动图的名字直接[UIImage imageNamed:launchImage]又拿不到。有没有什么办法直接拿到当前屏幕对应的LaunchImage呢,答案是有的。

我打印了一下[[NSBundle mainBundle] infoDictionary] 发现了一个叫做UILaunchImages的数组,里面正是我们需要的启动图信息

既然已经找到了启动图的信息,拿到图片就不成问题了

#pragma mark   -  获取启动图
+ (UIImage *)getLaunchImage{

    CGSize viewSize = [UIScreen mainScreen].bounds.size;
    NSString *launchImage = nil;

    NSArray* imagesDict = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"];
    for (NSDictionary* dict in imagesDict)
    {
        CGSize imageSize = CGSizeFromString(dict[@"UILaunchImageSize"]);

        // 横屏改成 @"Landscape"
        if (CGSizeEqualToSize(imageSize, viewSize) && [@"Portrait" isEqualToString:dict[@"UILaunchImageOrientation"]])
        {
            launchImage = dict[@"UILaunchImageName"];
        }
    }
    return [UIImage imageNamed:launchImage];
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值