iOS开发笔记——动态启动图的实现
2016-08-01 本文已影响3006人
无夜之星辰
![](https://img.haomeiwen.com/i1692043/0619c39d69e4cc89.jpg)
实现原理:在应用启动的时候,它会先执行AppDelegate.m中的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法,这个方法执行完之后,才会进入视图。所以,我们只需在进入视图之前呈现相关的动画就OK了。
例子:运行程序后,启动图慢慢变大,然后消失,最终呈现主页面。
代码:
`- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// window的常规设置
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor];
self.window.rootViewController = [[ViewController alloc]init];
[self.window makeKeyAndVisible];
// 在window上放一个imageView
UIImageView *imageView = [[UIImageView alloc]initWithFrame:[UIScreen mainScreen].bounds];
imageView.image = [UIImage imageNamed:@"before.jpg"];
[self.window addSubview:imageView];
// 执行动画
[UIView animateWithDuration:2 animations:^{
// 两秒内图片变大为原来的1.3倍
imageView.transform = CGAffineTransformMakeScale(1.3,1.3);
} completion:^(BOOL finished) {
// 动画结束,移除imageView,呈现主界面
[imageView removeFromSuperview];
}];
return YES;
}
`
总结:总体来说,实现起来还是很简单的,并且你可以根据自己的需求自定义各种动画,但是,用代码实现的动态启动图实际上只是个伪启动图,你仍需要设置启动图,不然程序开启的时候会有一段时间显示为空白,为了过度自然,可以将启动图设置为动态启动图的第一帧,这样从用户的角度来看就真的是动态启动图了。
demo地址:动态启动图