La continuación habían trabajado para mí .Este código en rápida 3:
1> subclase UITabBarController e implementar dos por debajo método con una Ivar:
class MyTabBarController: UITabBarController ,UITabBarControllerDelegate { var previousSelectedTabIndex : Int = -1 }
2> establecer el delegado de barra de pestañas en viewDidLoad
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self // you must do it}
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
self.previousSelectedTabIndex = tabBarController.selectedIndex
}
func tabBarController(_ tabBarController: UITabBarController,
shouldSelect viewController: UIViewController) -> Bool {
if self.previousSelectedTabIndex == tabBarController.selectedIndex {
let nav = viewController as! UINavigationController // mine in nav_VC
for vc in nav.childViewControllers {
if vc is YUOR_DESIRED_VIEW_CONTROLLER {
nav.popToViewController(vc, animated: true)
return false// IT WONT LET YOU GO TO delegate METHOD
}
}
}
return true
}
tabBarController.selectedIndex le dan la pestaña seleccionada
En el método tabBarController_shouldSelect_viewController, puede configurar el controlador de vista que desee con un cálculo sencillo.
si usted no está recibiendo el juego código anterior con tanto método anterior y se llega a saber cómo ambos trabajando juntos
Changing me animó ayudado NO realidad. Cuando tenía el ajuste animado en SÍ, mi barra de pestañas y ningún otro botón en el controlador de navegación no funcionaba. – Glogo