2010-12-13 15 views

Répondre

3

Vous pouvez utiliser la méthode UITabBarControllerDelegatetabBarController:didSelectViewController::

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { 
    //do something 
} 
1

C'est assez vieux, mais il ne vient pas sur Google et est lié à partir d'une autre réponse. Donc, j'ai pensé que je le mettrais à jour.

Si votre UITableBarController affiche un UIViewController (c'est-à-dire sa vue), vous devez vérifier les méthodes ViewController qui se déclenchent lorsqu'une vue disparaît et apparaît. Vous pouvez utiliser viewWillDisappear pour savoir si votre vue est sur le point d'être désactivée, et viewWillAppear pour tester si votre vue est juste revenue à. Notez que le TabBarController maintient généralement les ViewControllers chargés, juste leurs vues sont déplacées et entrantes. Le problème avec l'utilisation de la méthode TabBarDelegate est que vous devez connaître le nom de votre viewController, ce qui en fait une dépendance. Changez le nom et il va probablement rompre avec la mauvaise capacité de xcode à renommer les représentations de chaînes de classes. L'éviter. En outre, vous ne voulez pas un tas de vérification conditionnelle indésirable pour voir si votre barre d'onglets vient de charger un onglet particulier, sauf si vous ne pouvez pas l'éviter. L'autre chose à noter est que si un onglet particulier présente un TableViewController, vous devrez peut-être recourir à d'autres techniques si vous avez besoin que les données dans les cellules changent en réponse à l'abandon. J'utilise willMoveToWindow: (UIWindow *) newWindow pour être notifié dans le cas UITableViewCell lorsque la vue disparaît. Il y a probablement un meilleur moyen.

0

La méthode viewWillDisappear: est déclenché chaque fois que vous êtes sur le point de quitter le contrôleur de vue en cours (et par conséquent l'onglet en cours) et viewWillAppear: est déclenché chaque fois qu'une vue est sur le point d'être affiché.

Une référence complète pour ces méthodes peut être trouvée dans les docs UIViewController.