演示UITabBarController的最佳实践

问题描述 投票:0回答:1

我正在开发一个项目,该项目有两组不同的选项卡,这些选项卡基于特定条件呈现。我的问题是如何通过他们的UITabBarControllers最好地呈现两组不同的选项卡。

现在,该应用程序将使用默认的UITabBarController启动,但是当我想切换时,我很困惑如何最好地呈现第二个UITabBarController并完全从存储器堆栈中获取第一个UITabBarController。而且,反之亦然。切换回第一个UITabBarController是否相同?

这是现在用于从第一个切换到第二个的代码。

let secondaryTabBarController = SecondaryTabBarController()
let secondaryTabs = UINavigationController(rootViewController: secondaryTabBarController)
UIApplication.shared.keyWindow?.rootViewController = secondaryTabs
swift uinavigationcontroller uitabbarcontroller
1个回答
1
投票

为了解决您对内存的担忧,您建议的方法在这方面完全没问题,并且本身不会导致任何内存泄漏。

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

您可以使用UIView.transition(with:duration:options:animations:completion :)来设置转换动画,其中包含一些内置的过渡动画。

或者,如果您只想更改选项卡,或者如果要保留选择,则可以在UITabBarController上使用setViewControllers(viewControllers:animated :)。

© www.soinside.com 2019 - 2024. All rights reserved.