简书搜索LaunchScreen
动画之后,大部分都是 copy 的一个叫"**矢倉"的听名字可能是日本混种狗的成都 SB,简直丢程序员的脸,给他指出错误之后,恼羞成怒.于是自己写了个效果.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
在以上方法调用以下方法.
#pragma mark - 添加启动动画
- (void)addLaunchAnimation
{
//获取LaunchScreen的 CV
UIViewController *viewController = [[UIStoryboard storyboardWithName:@"LaunchScreen" bundle:nil] instantiateViewControllerWithIdentifier:@"LaunchScreen"];
UIWindow *mainWindow = [UIApplication sharedApplication].keyWindow;
[mainWindow addSubview:viewController.view];
//此处很重要,否则没有效果
[self.window bringSubviewToFront:viewController.view];
[UIView animateWithDuration:0.6f delay:0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
viewController.view.alpha = 0.0f;
viewController.view.layer.transform = CATransform3DScale(CATransform3DIdentity, 2.0f, 2.0f, 1.0f);
} completion:^(BOOL finished) {
[viewController.view removeFromSuperview];
}];
}
此方法是一个不太好的实现,因为此方法是在LaunchScreen屏幕加载完之后又重新加载到屏幕上,会让启动画面时间增加.
因此,如果纯的加上这种放大消失的方式,可以考虑,但是如果是复杂的动画.不建议使用.
如果需要复杂的启动 APP 广告,建议看这篇文章http://www.jianshu.com/p/10c35dfc0a4a
去掉自带的LaunchScreen SB 文件,然后自己定义一个 View,在启动画着后台切到前台的时候,加载一下.
最后,再次鄙视一个某矢倉狗!
Demo地址:https://github.com/yuying2012/WJDStudyLibrary
这是一个大工程,请从工程中寻找相关模块代码.