2013-05-07 7 views
7

Ich habe Anwendung mit Storyboard erstellt und verfügt über TabBarController mit 5 Registerkarten. Jede Registerkarte hat tabicon und tab title. Wenn eine Registerkarte ausgewählt ist, möchte ich das Symbol tabbar ändern. Wie kann ich mit storyboard?So ändern Sie die Tableiste ausgewählte Bild mit Storyboard

+0

In Xcode 6 Sie denken, würden Sie dies mit dem neuen „Selected Bild“ Feld im Inspector Attribute für die Tab-Leiste Element tun können, aber aus irgendeinem Grund, dass in einem leeren Bild ergibt sich, wenn ausgewählt, wie von Xcode 6.1.1 sowieso. Es gibt jedoch eine Problemumgehung, die hier detailliert beschrieben wird: http://stackoverflow.com/a/26802597/650558 –

Antwort

-2

Im Folgenden Code wird Tabbar Bild in getroffene Auswahl ändern:

UITabBarItem *tabBarItem = [[tabbar items] objectAtIndex:0]; 
[tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"img_hover.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"img.png"]]; 

Änderungserkenner zu benutzerdefinierten und fügen Bild enter image description here

+0

Ich habe 5 Tabs, wo sollte ich diesen Code schreiben. In jedem ViewController. – AMohan

+0

auf '- (void) viewDidLoad' – Ashini

1

ich es bekommen haben.

Subclass UITabBarController - MyTabBarController

schreiben Über viewDid Last:

Schreib

UITabBarItem *tabBarItem0 = [self.tabBar.items objectAtIndex:0]; 
    [tabBarItem0 setFinishedSelectedImage:[UIImage imageNamed:@"selectedimage.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"image.png"]]; 

wie dieser Satz für alle Tabbar Artikel und in Storyboard setzen die tabBar Controller MyTabBarController. Es funktioniert gut.

12

- (void)setFinishedSelectedImage:withFinishedUnselectedImage: ist veraltet. Wenn Sie Storyboards verwenden, ist es so einfach wie

UITabBarItem *tabBarItem0 = [self.tabBar.items objectAtIndex:0]; 
UIImage* selectedImage = [[UIImage imageNamed:@"settings-active"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 
tabBarItem0.selectedImage = selectedImage; 

EDIT

In Swift:

var settingsItem = self.tabBar.items?[0] as UITabBarItem 
settingsItem.selectedImage = UIImage(named: "home-selected") 

Beachten Sie, dass dieser Code in der Unterklasse viewDidLoad Überschreibung Ihrer UITabBarController gehört.

1

Sie können dies jetzt einfach im Storyboard tun. Auf jedem tabviewcontroller, die Sie haben, sollte es ein Tab Bar Item in der Hierarchie enthalten (sieht aus wie ein kleiner blauer Stern), Klicken Sie auf dieses und die Einstellungen auf der rechten Seite sollte wie das Bild unten aussehen. Der Tab-Bar-Titel & Bild kann hier geändert werden.

enter image description here

Verwandte Themen