2013-05-07 11 views
7

Utworzyłem aplikację przy użyciu storyboardu i uzyskałem numer TabBarController z 5 kartami. Każda zakładka ma tabicon i tab title. Po wybraniu karty chcę zmienić ikonę tabbar. Jak mogę skorzystać z storyboard?Jak zmienić wybrany obraz paska zakładek za pomocą scenorysu

+0

W Xcode 6 można by pomyśleć, można to zrobić z nowym „Wybrany obraz” pola w Inspektorze atrybuty elementu Tab Bar, ale z jakiegoś powodu, że prowadzi do pustego obrazu, gdy wybrana jako z Xcode 6.1.1. Istnieje jednak szczegółowe obejście tego problemu: http://stackoverflow.com/a/26802597/650558 –

Odpowiedz

-2

poniższy kod zmieni umieszczenie zakładek obraz w wyborze: identyfikator

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

zmiany zwyczaju i dodać zdjęcie enter image description here

+0

Mam 5 zakładek, gdzie powinienem napisać ten kod. W każdym viewController.? – AMohan

+0

na "- (void) viewDidLoad" – Ashini

1

Mam go.

Podklasa UITabBarController - MyTabBarController

Over napisać viewDid ładunek:

zapisu

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

jak ten zestaw dla wszystkich elementów i umieszczenie zakładek w scenorys ustawić regulator umieszczenie zakładek MyTabBarController. Działa dobrze.

12

- (void)setFinishedSelectedImage:withFinishedUnselectedImage: jest przestarzałe. Jeśli używasz storyboardy, jest to tak proste, jak

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

EDIT

w Swift:

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

Zauważ, że ten kod należy w viewDidLoad ręcznym swojej UITabBarController podklasy.

1

Możesz teraz zrobić to z łatwością w scenopisie. Na każdym sterowniku tabview, który posiadasz, powinien zawierać element paska paska w hierarchii (wygląda jak mała niebieska gwiazda), Kliknij na to, a ustawienia po prawej stronie powinny wyglądać jak na poniższym obrazku. Tutaj można zmienić obraz paska zakładek o numerze &.

enter image description here

Powiązane problemy