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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...