J'obtiens cette erreur: fin d'application en raison de uncaught exception 'NSInternalInconsistencyException', la raison: "en direct de la modification d'une barre d'onglet géré par un onglet de la barre de contrôleur n'est pas possible". Est le UITabBar détenue par un UITabBarController? Et, si oui, pouvez-vous obtenir une référence? Super! Je suis content d'avoir pu aider. J'ai modifié ma réponse. J'ai mis à jour pour utiliser le forcé abattu opérateur as!, qui est rapide, 2 syntaxe. Dans Swift 3 les suivantes fonctionné pour moi: tabBarController.selectedIndex = 0 (ou tout autre index existant) Merci @nidomiro. J'ai mis à jour ma réponse et crédité.
Swift 3 et plus tard
De Swift 3, vous pouvez également utiliser
(Merci @nidomiro.)
Swift 2.2 et les versions antérieures
Essayez ce qui suit
En supposant que vous avez accès à la
UITabBarController
qui possède leUITabBar
, vous pouvez effectuer les opérations suivantesAu-dessus de la ligne de code doit être mis quelque part à l'intérieur de la
UITabBarController
sous-classe.Mais si vous avez accès à l'onglet de la barre de contrôleur de "l'extérieur", procédez de la manière suivante
Est le
UITabBar
détenue par unUITabBarController
? Et, si oui, pouvez-vous obtenir une référence?Super! Je suis content d'avoir pu aider. J'ai modifié ma réponse. J'ai mis à jour pour utiliser le forcé abattu opérateur
as!
, qui est rapide, 2 syntaxe.Dans Swift 3 les suivantes fonctionné pour moi: tabBarController.selectedIndex = 0 (ou tout autre index existant)
Merci @nidomiro. J'ai mis à jour ma réponse et crédité.
OriginalL'auteur ndmeiri