【IOS】 LaunchScreen 添加放大动画

搜索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
这是一个大工程,请从工程中寻找相关模块代码.

你可能感兴趣的:(【IOS】 LaunchScreen 添加放大动画)