J'essaie d'animer les transitions entre les onglets dans mon UITabBarController, qui fonctionne bien lorsque j'appuie sur les boutons d'onglet. Cependant, lorsque je change d'onglet par programme en appelant
[self.tabBarController setSelectedIndex:2];
dans un identificateur de mouvement de balayage, la fonction shouldSelectViewController n'est PAS appelée dans mon délégué UITabBarControllerDelegate, et donc mon animation n'est pas déclenchée.
Existe-t-il un moyen d'accomplir ce que je veux? Puis-je déclencher le commutateur de tabulation de manière différente par programmation afin que la fonction shouldSelectViewController soit appelée?
Si vous avez implémenté - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
dans le délégué de votre tabBarController, vous pouvez l'appeler manuellement.
[self.tabBarController.delegate tabBarController:self.tabBarController shouldSelectViewController:[[tabBar viewControllers] objectAtIndex:2]];
[self.tabBarController setSelectedIndex:2];
J'espère que cela t'aides.