31 votes

comment obtenir l'événement qui fait basculer le menu d'onglet sur l'iphone

J'essaie de trouver comment attraper l'événement qui contrôle les onglets de commutation sur la page d'accueil de l'ordinateur. UITabBarController . Comment pourrais-je accomplir cela ?

37voto

cidered Points 2100

Mettre en œuvre UITabBarControllerDelegate par exemple, dans le délégué de votre application. applicationDidFinishLaunching

- (void)applicationDidFinishLaunching:(UIApplication *)application
{
    tabBarController.delegate = self;
    [window addSubview:tabBarController.view];
}

Ensuite, mettez en œuvre l'un ou l'autre :

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController;

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;

La première méthode est appelée avant le changement de vue et vous donne la possibilité d'opposer votre veto au changement de vue en renvoyant le résultat suivant NO

La deuxième méthode est appelée après que le changement de vue ait eu lieu.

15voto

nithinreddy Points 2544

Si vous utilisez le storyboard, faites ceci

dans didFinishLaunchingWithOptions

UITabBarController *tabBar = (UITabBarController *)self.window.rootViewController;
[tabBar setDelegate:self];

Toujours dans AppDelegate, gardez <UITabBarControllerDelegate>

Et puis

-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
   //Write your code here
}

6voto

vedant shirke Points 139

Mieux vaut tard que jamais. Dans le cas de swift 4, vous pouvez le faire de la manière suivante.

tabBarViewController.delegate = self

Et mettre en œuvre UITabBarDelegate dans votre classe. Vous obtiendrez le callback dans

override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
  //Stuff to do
}

5voto

Vladimir Points 110327

Jetez un coup d'œil à la méthode suivante dans UITabBarControllerDelegate :

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController

Indique au délégué que l'utilisateur a sélectionné un élément dans la barre d'onglets.

1voto

Costique Points 16058

Est UITabBarControllerDelegate ce que vous recherchez, en particulier - tabBarController:didSelectViewController: ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X