动画 更换 主Window 的 rootViewController

// 淡入淡出更换rootViewController

- (void)restoreRootViewController:(UIViewController *)rootViewController
{
    typedef void (^Animation)(void);
    AppDelegate *appdelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
    UIWindow* window = appdelegate.window;
    
    rootViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    Animation animation = ^{
        BOOL oldState = [UIView areAnimationsEnabled];
        [UIView setAnimationsEnabled:NO];
        [UIApplication sharedApplication].keyWindow.rootViewController = rootViewController;
        [UIView setAnimationsEnabled:oldState];
    };
    
    [UIView transitionWithView:window
                      duration:0.5f
                       options:UIViewAnimationOptionTransitionCrossDissolve
                    animations:animation
                    completion:nil];
}

至于为什么不用 keyWindow 请参考http://www.jianshu.com/p/ae84cd31d8f0,
小心使得万年船,哈哈.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,142评论 25 708
  • 不知不觉2017年的余额已经所剩无几了 下面是我这一年来收藏的关于IOS开发的一些知识点 . iOS功能 iOS ...
    临渊还在阅读 696评论 0 0
  • 最近自己写的简书文章太多了,导致很难找到之前写的文章。 于是,我想整理一篇目录,使用搜索快捷键:ctrl+F,即可...
    张云钱阅读 1,645评论 0 1
  • 下班回到家中,看到儿子在看动画片。儿子说想鸡肉和鸡骨头,接着就骑着电动车带着他去买。路上还是有雾,卖鸡肉的是夫妻俩...
    得到一直在路上阅读 220评论 2 0
  • 你悠荡如风 站在村口的相思树上 涂绘了西天那一抹胭红的云彩 当天空露出一弯月牙时 记忆的温度又一次保鲜着尘封的热情...
    东南随笔阅读 348评论 4 4