changer l'état mis en évidence par programmation d'un UITabBarItem - Objectif C
-
29-09-2019 - |
Question
Je voudrais savoir comment faire de souligner l'UITabBarItem quand je choisis de le faire dans le programme. Est-ce possible?
THanks
La solution
Vous pouvez modifier l'onglet sélectionné - qui modifie aussi le point culminant - facilement:
tabcontroller.selectedIndex = youNewIndexHere;
Si votre tabcontroller est le délégué de l'application (ce qui est le cas si vous avez utilisé le modèle d'application barre d'onglets lorsque vous avez créé votre projet), il ressemblerait à quelque chose comme ceci:
ProjectNameAppDelegate *appDelegate = (ProjectNameAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate tabcontroller].selectedIndex = youNewIndexHere;
Autres conseils
TabBar fonctionne si vous connaissez l'index et l'écrire comme ceci:
NSMutableArray *item [[NSMutableArray alloc] init];
[items addObject: [[[UITabBarItem alloc] initAsULike] autorelease]; <--- init as you like here
...
[tabBar setItems:items animated:FALSE];
tabBar.selectedItem = [items objectAtIndex: your_index]; <--- write your index here
[items release];
J'ai un UITabBar, créé en IB mais sans TabBarController. Dans mon awakeFromNib je viens Initialiser au premier élément comme celui-ci:
[self.tabBar setSelectedItem:[[self.tabBar items] objectAtIndex:0]];
Ne pas oublier, le UITabBarDelegate didSelectItem ne soit pas appelé dans ce cas.