ändern programmatisch um den markierten Zustand eines UITabBarItem - Objective C
-
29-09-2019 - |
Frage
Ich möchte wissen, wie die UITabBarItem machen hervorgehoben, wenn ich so in dem Programm zu tun wählen. Ist das möglich?
THanks
Lösung
können Sie ändern, welche Registerkarte ausgewählt wird - die auch die Änderungen hervorheben - leicht:
tabcontroller.selectedIndex = youNewIndexHere;
Wenn Ihr tabcontroller im AppDelegate (was der Fall ist, wenn Sie die Tab-Leiste Anwendungsvorlage verwendet, wenn Sie Ihr Projekt erstellt) ist es in etwa so aussehen:
ProjectNameAppDelegate *appDelegate = (ProjectNameAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate tabcontroller].selectedIndex = youNewIndexHere;
Andere Tipps
Tabbar funktioniert, wenn Sie den Index wissen und schreiben Sie es wie folgt aus:
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];
Ich habe ein UITabBar bekommt, in IB erstellt, aber ohne TabBarController. In meinem awakeFromNib ich Initialise es nur auf das erste Element wie folgt aus:
[self.tabBar setSelectedItem:[[self.tabBar items] objectAtIndex:0]];
Vergessen Sie nicht, wird der UITabBarDelegate didSelectItem in diesem Fall nicht aufgerufen werden.