在重新选择UITabBar项目时防止弹出视图



我有一个扩展UITabBarControllerUITabBar类,在它上面有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)  
}
}

相关内容

最新更新