iOS如何获取启动页图片

作者: 大兵布莱恩特 | 来源:发表于2016-02-06 13:13 被阅读3907次

    在 iOS 开发中,我们用到了启动页,它只在程序启动时加载一次,一闪而过然后就是执行我们程序的代码.它就像一张名片一样,使我们 APP 的一张脸,反应了我们APP 的主题和设计理念.

    笔者以前对这个启动页没有什么操作,只要放到Assets.xcassets里边,它会识别不同的尺寸启动图.最近做一个项目因为我们 APP 所有接口IP 地址是从服务器获取的,如果服务器有最新的 IP 就返回一个 list ,如果是505就代表服务器停服整个APP 不能被使用,只停留在登录页面,并提示用户服务器正在维护无法.

    那么问题就来了,因为 iOS9以后didFinishLaunchingWithOptions 这个代理方法执行完毕后,必须制定窗口的根控制器,因为我在这个方法前请求了协转接口(获取整个工程所有请求的 ip 地址)导致了没法确定程序启动时先加载那个控制器作为window的rootViewController ,所以我想着先用一个看似没有卵用的CYInitializeViewController 控制器做为窗口的rootViewController 这个控制器只做一件事那就是放一张和启动页一模一样的图,做为中间过渡期间使用.


    为了获取启动页图片我写了个方法,还把启动页的几张图拷贝了一份放到工程中.

    然后图片名依次为:welcome3.5,welcome4.0 welcome4.7,welcome5.5 然后苦逼的在哪里判断当前屏幕的尺寸,选择不同的图片名生产不同的 image对象.

    这个方法虽然可以实现启动页的效果,但是它获取的不是真正的启动页,是我用的跟启动页完全一模一样的一套图,它的弊端就是占用安装包体积,造成图片重复导入,如果将来 iOS 出新设备还得去判断新的屏幕尺寸.

    接下来我们介绍另一种方法去获取启动页图片,通过读取info.plist文件获取启动页图片名,代码如下

    这样通过这段代码,你只需要把它抽成一个 UIImage的分类,以后就可以动态的获取启动页图片.


    相关文章

      网友评论

      • 小菜99:写的不错,正好需要 :smile:
        大兵布莱恩特:你才是大神,都是些小把戏
      • 为了自由的白菜:不错不错 跟我遇到的问题一样 ,我试试能不能解决,我本来是打算阻塞线程呢
        大兵布莱恩特:我们的app 需要启动时获取用户人脉和群组,所以需要延时加载,跟微信一样需要启动项停留在哪里一段时间。
      • 谁是我我我:小伙.写的不错.继续努力.

      本文标题:iOS如何获取启动页图片

      本文链接:https://www.haomeiwen.com/subject/kyvqhttx.html