2009-11-08 13 views
0

J'aimerais pouvoir modifier l'image d'état en surbrillance sur un UITabBarItem lorsqu'elle est sélectionnée? Est-il possible de sous-classer et d'accéder à cela? ou dois-je lancer mon propre code de navigation?UItabBarItem image d'état en surbrillance

-> début éditer Je n'ai pas articulé ce que je cherchais plus tôt. Je suis à la recherche de la référence de recouvrement blanc semi-transparent que l'appareil ajoute à l'état/image sélectionné de l'UITabBar. Voir l'image! http://solomon71.com/images/UITabBarItem.png

+0

vous pouvez échanger simplement l'icône lorsque l'onglet est sélectionné ou désélectionné? – wkw

Répondre

2

Il n'existe aucun moyen documenté ou pris en charge pour définir votre propre image en surbrillance. Cela dit, dans 2.2, vous pouvez le faire en sous-classant UITabBarItem et en implémentant -[UIImage *)selectedImage.

Strictement parlant, vous n'appelez pas l'API privée, puisque selectedImage n'est pas un nom de méthode réservé (et est en fait un nom assez raisonnable pour quelqu'un d'utiliser eux-mêmes). Cela dit, je suis sûr que ce n'est pas prévu et que cela pourrait se produire à n'importe quel moment dans une prochaine version. Cela ne me choquerait pas si cela était déjà cassé dans 3.x (je n'ai jamais expédié quoi que ce soit qui a fait cela, je l'ai juste expérimenté avec un client).

+0

Merci pour cette info. Dans le simulateur 3.0 cela fonctionne toujours. Voir ma question éditée. –

1

essayez celui-ci.

J'ai changer l'image sélectionnée comme tabbatitem -

dans le contrôleur TabBar méthode déléguée

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 

{ 
    if([tabBarController selectedIndex] == 0) 
    { 
     [viewController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"selected.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"unselect.png"]]; 
    }  
} 

grâce à ce que vous pouvez changer votre image.

Ou vous pouvez utiliser directement dans votre méthode vue contrôleurs init (ou viewWillAppear), comme

 [viewController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"selected.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"unselect.png"]];