Il seguito aveva lavorato per me .Questo codice swift 3:
1> sottoclasse UITabBarController e implementare due sotto il metodo con un Ivar:
class MyTabBarController: UITabBarController ,UITabBarControllerDelegate { var previousSelectedTabIndex : Int = -1 }
2> impostare il delegato barra delle linguette in 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 ti danno la scheda selezionata
In modalità tabBarController_shouldSelect_viewController è possibile impostare il controller di visualizzazione desiderato con un semplice calcolo.
se non si ottiene il gioco codice di cui sopra sia con metodo di cui sopra e si arriva a sapere come sia lavorare insieme
Cambiare animato a me NO effettivamente contribuito. Quando avevo impostato l'animazione su SÌ, la mia barra delle linguette e nessun altro pulsante nel controller di navigazione non funzionava. – Glogo