Swift 演示ABBARCONTROLLERS的最佳实践

Swift 演示ABBARCONTROLLERS的最佳实践,swift,uinavigationcontroller,uitabbarcontroller,Swift,Uinavigationcontroller,Uitabbarcontroller,我正在从事一个项目,该项目有两组不同的选项卡,它们是根据特定条件显示的。我的问题是如何通过UtabBarController最好地呈现两组不同的选项卡 现在,该应用程序打算使用默认的UITabBarController启动,但当我想要切换时,我不知道如何最好地呈现第二个UITabBarController,并完全将第一个UITabBarController从内存堆栈中移除。反之亦然。切换回第一个UITabBarController是否相同 这是目前用于从第一个切换到第二个的代码 let seco

我正在从事一个项目,该项目有两组不同的选项卡,它们是根据特定条件显示的。我的问题是如何通过UtabBarController最好地呈现两组不同的选项卡

现在,该应用程序打算使用默认的UITabBarController启动,但当我想要切换时,我不知道如何最好地呈现第二个UITabBarController,并完全将第一个UITabBarController从内存堆栈中移除。反之亦然。切换回第一个UITabBarController是否相同

这是目前用于从第一个切换到第二个的代码

let secondaryTabBarController = SecondaryTabBarController()
let secondaryTabs = UINavigationController(rootViewController: secondaryTabBarController)
UIApplication.shared.keyWindow?.rootViewController = secondaryTabs

为了解决您对内存的担忧,您建议的方法在这方面是完全正确的,并且不会导致内存泄漏

是的,如果要切换回第一个选项卡栏控制器,可以使用相同的方法,创建第一个选项卡栏控制器的新实例,并将其设置为窗口的根视图控制器

您可以使用UIView.transition(带有:duration:options:animations:completion:)为过渡设置动画,它具有一些内置的过渡动画

或者,如果您只想更改选项卡,或者想保留选择,可以在UITabBarController上使用SetViewController(ViewController:animated:)