iOS 6 & iOS7+ Splash

最新在折腾iOS6 以及 iOS7界面网络的统一适配。

发现iOS7+之后的版本app在启动之后会有一个界面的splash效果(渐变)。

iOS6以及之前的版本则无。

无奈之下自己实现了一个。


简单描述下思路:

1. iAPP在启动时,会自己加载Default图片。

2. 在Default之后主动添加一个和Default一样的图片并显示。

3. 在应用初始化(可有可无)完成之后,将主动添加的Default移除。


   [self.window makeKeyAndVisible]; 这句是以UIWindow来实现这个Splash的启发点。

   makeKeyAndVisible字面理解:将当前的window设置成关键window. 就引申出一个app允许多个window并且keyWindow是可以修改或者设置的。

   以此为出发点进行测试与验证。

   结果可以接受。



以下是简单的示例代码。


1. 初始化Splash

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
   // Override point for customization after application launch.
   
   /**
    *  show the status bar.
    */
   [application setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];

   /**
    *  set the key window.
    */
   [self.window makeKeyAndVisible];
   
   self.splashController   = [SplashController open];
   
   [self performSelector:@selector(splash)
              withObject:nil
              afterDelay:2.0];
   
   return YES;
}


2. 执行splash

- (void)splash
{
   [self.splashController splash:1.0
                        complete:^
   {
      NSLog(@"splash complete");
      
   }];
   
   return;
}


补充:

由于apple现在的尺寸越来越多,所以之前加载默认Default.png的方法在iPhone6之前的版本是可以使用的,但在这之后的全名规则不知道如何确定,

所以就使用了一个傻瓜的方法根据屏幕尺寸来对图片进行命名。


   szSplash = [NSString stringWithFormat:@"%dx%d", (int)stSZ.width, (int)stSZ.height];



方法比较傻,这是在尝试Images.xcassets失败之后采用的傻瓜方法。


测试项目地址:

https://github.com/iidioter/Splash/

关于有更好的对"Default"进行管理的方法可以直接反馈。

欢迎大家加群讨论:

110560798


备注:plist文件添加





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值