如何通过UIButton segue切换UITabBars?

时间:2018-07-21 21:07:39

标签: ios uinavigationcontroller uitabbarcontroller swift4

我有一个UITabBar,当前有4个标签,效果很好。我需要导航到一组新的选项卡,就像该应用程序正在进入其他模式一样。通过navigationController推送新的UITabBar不起作用–当前,它只是在旧的UITabBar上添加新的UITabBar,并在旧的UITabBar下添加新的UINavigationBar。我是否将创建一个全新的UIWindow,其rootViewController是我的新UITabBarController

@objc func startSecondStory() {
    let newTabs = SecondaryTabBarController()
    navigationController?.pushViewController(newTabs, animated: true)
}

代码是按下的UIButton的操作。我不希望将新的UITabBar推入堆栈顶部。我更喜欢将它作为一个全新的UINavigationController,并将rootView作为SecondaryTabBarController。

2 个答案:

答案 0 :(得分:0)

嗯,我可以只使用present(_:animated:completion :)。但是,我仍然想知道是否有更有效的方法来减少内存使用。我认为这只是将新的UITabBarController弹出堆栈而没有删除旧的。

答案 1 :(得分:0)

您可以使用(这将清除上一个)

self.navigationController?.setViewControllers([newTabs],animated:true)

//

UIApplication.shared.keyWindow?.rootViewController = newTabs