Question

La fonctionnalité principale de mon application est contrôlée par un UITabBarController. Cependant, je dois charger une vue qui a une UINavigationController. Quand je retourne à mon UITabBarController en utilisant

        self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:0];

Mon UITabBarController ne répond plus aux clics. Il semble que la vue ne pas le focus.

Cependant, si j'utiliser ce code pour revenir à la UITabBarController:

[window addSubview:tabBarController.view]

Mes boutons répondront. Je me sens comme « addSubview » est moins efficace parce que je ne supprimer la vue de la fenêtre et il doit donc être une deuxième copie ajoutant de la vue de la pile. Ai-je raison? Y at-il un moyen d'utiliser la première méthode et de faire mes boutons répondre? S'il vous plaît laissez-moi savoir.

Était-ce utile?

La solution

On dirait que vous êtes peut-être présenter correctement le contrôleur de navigation. Vous devriez certainement pas ajouterez vues directement à la fenêtre. Vous voulez présenter en utilisant

[myTabBarController presentModalViewController:myNavController animated:YES];

Lorsque vous avez terminé avec le contrôleur de navigation vous rejetez avec

[myTabBarController dismissModalViewControllerAnimated:YES];

et tout devrait fonctionner.

BTW, tout cela est documenté dans la documentation pour UIViewController et le document "View Controller Guide de programmation pour iPhone OS".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top