2013-05-07 3 views
7

Ho creato un'applicazione utilizzando lo storyboard e dispone di TabBarController con 5 schede. Ogni scheda ha tabicon e tab title. Quando viene selezionata una scheda, desidero modificare l'icona tabbar. Come posso usare storyboard?Come modificare l'immagine selezionata della tabbar tramite lo storyboard

+0

In Xcode 6 si potrebbe pensare che si può fare questo con il nuovo campo "Immagine selezionata" in Impostazioni Attributi per l'elemento Tab Bar, ma per qualche ragione che si traduce in un'immagine vuota, quando selezionato, come di Xcode 6.1.1 comunque. Tuttavia, qui c'è una soluzione dettagliata: http://stackoverflow.com/a/26802597/650558 –

risposta

-2

sottostante Codice cambierà immagine TabBar nella selezione:

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

cambiamento identificativo per costume e aggiungere un'immagine enter image description here

+0

Ho 5 schede in cui dovrei scrivere questo codice. In ogni viewController.? – AMohan

+0

su '- (void) viewDidLoad' – Ashini

1

ho capito.

sottoclasse UITabBarController - MyTabBarController

OVER WRITE carico viewDid:

scrittura

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

come questo set per tutte le voci TabBar e story board impostare il controller barra delle linguette a MyTabBarController. Funziona bene.

12

- (void)setFinishedSelectedImage:withFinishedUnselectedImage: obsoleto. Se stai usando storyboard, è semplice come

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") 

Si noti che questo codice appartiene alla viewDidLoad esclusione del UITabBarController sottoclasse.

1

Ora è possibile farlo facilmente nello storyboard. Su ogni tabviewcontroller che hai, dovrebbe contenere un elemento TabBar nella gerarchia (sembra una piccola stella blu), Clicca su questo e le impostazioni sulla destra dovrebbero assomigliare all'immagine qui sotto. L'immagine & del titolo della barra delle schede può essere modificata qui.

enter image description here