Je viens de tomber sur un accident montrant un NSInvalidArgumentException
avec ce message sur une application qui ne le faisait pas avant.
L'application a essayé de présenter modalement un contrôleur actif UITabBarController : 0x83d7f00.
J'ai un UITabBarController
que je crée dans le AppDelegate
et lui donner le tableau de UIViewControllers
.
Je veux que l'un d'entre eux soit présenté de manière modale lorsqu'on le touche. J'ai fait cela en implémentant la méthode du délégué
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
Si ce contrôleur de vue est de la même classe que celui que je veux présenter de manière modale, je renvoie NO et fais
[tabBarController presentModalViewController:viewController animated:YES];
Et maintenant j'obtiens cette erreur, qui semble signifier que l'on ne peut pas présenter modalement un contrôleur de vue qui est actif ailleurs (dans la barre de tabulation...). Je dois dire que je suis sur XCode 4.2 Developer Preview 7, donc c'est iOS 5 (je sais à propos du NDA, mais je pense que je ne donne pas de détails interdits). Je n'ai pas actuellement d'installation XCode pour tester si cela plante la compilation avec le SDK iOS4, mais je suis presque entièrement sûr que ce n'est pas le cas.
Je voulais juste demander si quelqu'un avait déjà rencontré ce problème ou avait une suggestion à faire.
0 votes
Avant iOS 5, cette opération ne levait pas d'exception, mais ne renvoyait rien. À partir d'iOS 5, cette commande soulève une exception.