iOS开发-动态获取LaunchImage里的启动图和APPicon

应用场景:

我们在应用启动后,往往会在启动图加载完成之后,去获取广告图进行展示。但加载广告图往往需要耗费未知的时间,这个时候我们就需要获取启动图,来进行一个安全展示,并且需要动态展示,因为LaunchImage里面的图片是根据设备尺寸来动态展示的。

方法一:

方法:工程里存储不同尺寸启动图,然后判断机器设备,区别选取启动图
缺点:每次都要导入不同尺寸启动图,更换起来比较麻烦

方法二(推荐):

根据Assets.xcassets里的plist文件来动态获取,具体方法如下:

//启动图
+ (UIImage *)getLaunchImage{
    
    CGSize viewSize = [UIScreen mainScreen].bounds.size;
    NSString *viewOr = @"Portrait";//垂直
    NSString *launchImage = nil;
    NSArray *launchImages =  [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"];
    
    for (NSDictionary *dict in launchImages) {
        CGSize imageSize = CGSizeFromString(dict[@"UILaunchImageSize"]);
        
        if (CGSizeEqualToSize(viewSize, imageSize) && [viewOr isEqualToString:dict[@"UILaunchImageOrientation"]]) {
            launchImage = dict[@"UILaunchImageName"];
        }
        
        
    }
    return [UIImage imageNamed:launchImage];
    
}

//APPicon
+ (UIImage *)appIcon{
    NSDictionary *infoPlist = [[NSBundle mainBundle] infoDictionary];
    NSString *icon = [[infoPlist valueForKeyPath:@"CFBundleIcons.CFBundlePrimaryIcon.CFBundleIconFiles"] lastObject];
    UIImage* image = [UIImage imageNamed:icon];
    return image;
}




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,658评论 25 709
  • 生存 虽说是深秋季节,可叶子却总是感到手脚冰凉,一大早虽有明媚的阳光,可她还是把自己裹得严严实实的,早早的把下一个...
    稻城阳光阅读 2,206评论 0 0
  • 今年六月份去了一趟丽江,途中各种事情,让我体会到了独自一人的好处…… 我喜欢旅游,对于穷游情有独钟!每次出门规划攻...
    吾闻阅读 2,890评论 0 0
  • 记得小时候,小学二年级吧。班里转入一个男生,圆脸,有疤,鼻涕,灰,有点脏,刘爽。 后来听说他妈在我们生活区门口开馒...
    布裙阅读 3,508评论 0 0