UITabBarController - Comment accéder à la vue du contrôleur?
J'ai un uitabbarcontroller, qui contient plusieurs onglets et viewControllers.
Je suis en train de faire une boucle par la vue des contrôleurs de trouver la bonne et appeler une méthode.
mais le type de la vue-contrôleur que je reçois, chaque fois que je vais à travers la boucle est un UINavigationController. Alors, comment puis-je tout simplement accéder à la vue du contrôleur dans mon tabBar?
for (UIViewController *v in self.tabBar.viewControllers)
{
if ([v isKindOfClass:[MyViewController class]])
{
MyViewController *myViewController = v;
[v doSomething];
}
}
OriginalL'auteur aryaxt | 2010-11-29
Vous devez vous connecter pour publier un commentaire.
Vous avez probablement UINavigationControllers à la racine de vos Onglets, de sorte que vous devrez faire est d'accéder à la ViewController affichée par le UINavigationController.
Essayez de modifier le code de la manière suivante:
OriginalL'auteur Cameron Hotchkies
Ceci peut être réalisé de swift en utilisant un tableau de filtre:
OriginalL'auteur vbrittes
Vous n'avez pas vraiment envie de faire ça... C'est une meilleure affaire pour NSNotificationCenter.
En 2 lignes de code, vous pouvez obtenir les mêmes choses, sans tout le drame de la randonnée à vélo à travers la vue contrôleur de tableaux. Voir ce post:
NSNotificationCenter addObserver en Swift
OriginalL'auteur ShowPony
Dans Swift 4, pour obtenir ViewController de UITabBarController.
OriginalL'auteur GSK