UItabBar un changement de Vue des Contrôleurs
j'ai quelques difficultés à modifier de la barre d'onglets contrôleurs. Fondamentalement, je n'ai UITabBarController avec 3 manettes. Première fois lorsque l'application démarre. - Je modifier une commande comme ceci:
NSMutableArray *muteArray = [[NSMutableArray alloc] init];
FirstPage *online;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
online =[[FirstPage alloc] initWithNibName:nil bundle:nil];
}else{
online =[[FirstPage alloc] initWithNibName:nil bundle:nil];
}
//adding all controllers of tab bar to array
[muteArray addObjectsFromArray:_navigationCotroller.viewControllers];
online.tabBarControllers = [muteArray copy];
//replacing object of login controller to after login controller
[muteArray replaceObjectAtIndex:1 withObject:online];
[online release];
//setting new controllers to tab bar
[_navigationCotroller setViewControllers:muteArray animated:YES];
[muteArray release];
Puis dans FirstPage contrôleur-je faire des changements et appuyez sur OK. Maintenant, j'ai besoin de changer les contrôleurs de nouveau, faire ceci:
NSLog(@"Before change Tab Bar cotrollers = %@",self.tabBarController.viewControllers);
[self.tabBarController setViewControllers:_tabBarControllers animated:YES];
NSLog(@"After change Tab Bar cotrollers = %@",self.tabBarController.viewControllers);
[self.tabBarController.tabBarController setSelectedIndex:1];
_tabBarControllers est la gamme de contrôleurs que j'ai sauvé lors de l'application a démarré.
Cette modification du code des contrôleurs, mais quand je veux ouvrir changé contrôleur avec setSelectedIndex il ne fonctionne pas.
Des idées ?
Et imprimer ce:
Avant de changer d'Onglet de la Barre de cotrollers = NULL
Après le changement de la Barre d'onglets cotrollers = NULL
_navigationCotroller est la principale UITabBarController
l'esprit le manque de "N" caractères 😉 _navigationCotroller --> _navigationCoNtroller
c'est plus que un peu confus pour appeler un tabBarController navigationController. Tout le monde la lecture de ce supposerons que navigationController est une manette de navigation. Je vous recommande de vous appeler votre tabBarController myTabBarController
OriginalL'auteur Streetboy | 2012-01-16
Vous devez vous connecter pour publier un commentaire.
D'abord je suppose que vous vouliez dire:
À défaut, il semble que le problème est avec votre _tabBarControllers.
ce faire, la sortie suivante:
EDIT:
La suite réussi à retirer le premier onglet avec pas de problèmes?
EDIT 2 :
essayez de changer:
:
Pour être honnête, j'ai du mal à suivre votre app de la structure et des références d'objets.
Sans voir ton code où vous créez _tabBarControllers il est difficile de les aider.
il est au-dessus de code: en ligne.tabBarControllers = [muteArray copie]; ici, je copie par défaut tous créé des contrôleurs.
Oui le code ci-dessus enlever la première barre d'onglet contrôleur sans problème
J'ai UItabBarController avec UINavigationController 's à l'intérieur. cette ligne NSLog(@"---> %@",[[appDelegate.navigationTabBarCotroller.viewControllers objectAtIndex:1] viewControllers]); ---> ( "<AfterLoginView: 0xb856070>", "<FirstPage: 0x699acb0>" ) imprime:
OriginalL'auteur ader