我有一个扩展UITabBarController
的UITabBar
类,在它上面有3个UINavigationController
,每个都有自己的rootController。然后在第一个上,我推送额外的UIViewController
。当我更改选项卡时,一切正常,在每个视图上都有一些东西。
当我在第一个选项卡上,然后再次单击同一个选项卡时,就会出现问题。当我这样做的时候,由于某种原因,推送的视图会弹出到rootView。
有人对如何防止这种情况有什么建议吗?
我接受迅速或客观的建议。
您可以尝试这样做,作为选项卡的默认设置,当您选择显示根的相同选项卡时,请实现此委托UITabBarControllerDelegate
//
class TabBarController: UITabBarController , UITabBarControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self
}
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
return tabBarController.selectedIndex != tabBarController.viewControllers?.index(of: viewController)
}
}