【发布时间】:2018-09-05 05:57:12
【问题描述】:
我有一个带有标签栏导航(5 个按钮)的应用程序。点击 5 个标签栏按钮中的一个时,是否可以始终打开导航的第一个控制器?比如button1打开VC1(带导航控制器),可以打开VC2,可以打开VC3等。如果我在VC3上,然后点击另一个标签栏按钮(比如说button2),然后再次点击button1,我希望它打开 VC1,而不是我离开它的 VC3。
我试过这个,但由于某种原因它没有像我预期的那样工作:
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
self.navigationController?.popToRootViewController(animated: true)
viewController.navigationController?.popToRootViewController(animated: true)
}
【问题讨论】:
-
所以,为了确保我理解你的情况:你想点击一个标签按钮(比如第三个),它必须将你导航到另一个标签(比如第一个)并弹出到它的根目录,对吗?
-
@AhmadF 不,只是在点击其中一个标签栏按钮时,它必须打开所选标签的根控制器(其导航的第一个控制器)。
-
好吧,所以我相信这是两次点击它时的默认行为(第一次点击用于登陆选项卡,第二次用于弹出到根视图);你想通过点击一次来实现它,对吗?
-
@AhmadF 正确,只需轻轻一按。
标签: ios swift xcode uinavigationcontroller uitabbarcontroller