Programmazione cambiare lo stato evidenziato di un UITabBarItem - Objective C
-
29-09-2019 - |
Domanda
Vorrei sapere come fare l'UITabBarItem essere evidenziato quando scelgo di farlo nel programma. È possibile?
THanks
Soluzione
È possibile cambiare scheda che viene selezionata - che cambia anche il momento clou - facile:
tabcontroller.selectedIndex = youNewIndexHere;
Se il tabcontroller è nel delegato app (che è il caso se si è utilizzato il modello di applicazione barra delle schede quando è stato creato il progetto) sarebbe simile a questa:
ProjectNameAppDelegate *appDelegate = (ProjectNameAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate tabcontroller].selectedIndex = youNewIndexHere;
Altri suggerimenti
TabBar funziona se si conosce l'indice e scrivere in questo modo:
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];
Ho un'UITabBar, creata in IB ma senza un TabBarController. Nel mio awakeFromNib ho inizializzarlo al primo punto in questo modo:
[self.tabBar setSelectedItem:[[self.tabBar items] objectAtIndex:0]];
Da non dimenticare, l'UITabBarDelegate didSelectItem non vengono chiamati in questo caso.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow