iOS 优雅的替换根控制器rootViewController(带动画)

总所周知,在实际业务中,经常会有替换根控制器的需求 例如: 1、登录成功后,切换到tabbarController 2、展示完新特性页后,切换到tabbarController 3、掉线后回到登录后 ... 但是直接切换rootVC的时候,界面很生硬,非常不合理 但是替换根控制器,又不是切换页面,无法自定义转场动画 因此可以把动画考虑放在UIWindow上 废话不多说 上代码 OC版

UITabBarViewController *tabBar = [[UITabBarViewController alloc] init];
CATransition *transtition = [CATransition animation];
transtition.duration = 0.5;
transtition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
[UIApplication sharedApplication].keyWindow.rootViewController = tabBar;
[[UIApplication sharedApplication].keyWindow.layer addAnimation:transtition forKey:@"animation"];
复制代码

Swift 4.0版

let tabBarController =UITabbarController()
let transtition = CATransition()
transtition.duration = 0.5
transtition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseOut)
UIApplication.shared.keyWindow?.layer.add(transtition, forKey: "animation")
UIApplication.shared.keyWindow?.rootViewController = tabBarController

复制代码

有了这个思路,可以实现更多炫酷的动画,来实现替换根控制器的转场动画

转载于:https://juejin.im/post/5a30f3cd5188257db3727f1e

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值