Swift - 在 UIWindow 中动画 rootViewController 更改

问题描述

像往常一样,我对登录/注册和主页/主要操作有单独的 UI 流程,这些流程都是纯编程编写的(没有故事板)。当登录或注册过程成功完成时,我通过调用

更改window.rootViewController
UIApplication.setRootView(TabBarController()) 

本质上是;

extension UIApplication {
    public static func setRootView(_ viewController: UIViewController) {
        UIApplication.shared.keyWindow?.rootViewController = viewController
    }
}

问题是,它会立即发生,动画效果会很好。我认为 [Hero][1] 喜欢动画,但我不想使用该库,只是因为我渴望在原生动画编码方面提高自己的技能。

view controllers

正如您在上面看到的,有三个 ViewController,其中一个名为 Transition 的存在只是因为我正在尝试进行命名。以下是登录或注册过程完成并调用 UIApplication.setRootView(HomeController()) 时的步骤;

  1. Login 按钮的背景扩展到覆盖所有窗口。与此同时,Login 按钮的标题淡出。
  2. 在-暂时无关紧要-期间或时,全蓝色背景前会出现徽标图像
  3. 一段时间后,徽标缩小并向下移动到具有相同徽标和蓝色背景的 UIButton,它也位于 UITabBar 中的 HomeController 前面

这些是步骤。一旦我实现了这一点,我想我可以自己做任何其他的添加。最后,如果设计图像有任何错误,请见谅。这是我第一次使用 Figma

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...