tabbar élément de l'image et selectedImage
J'ai un onglet de la barre de contrôleur (c'est un onglet de la barre en fonction de l'application, de sorte que la barre d'onglets est sur MainWindow.xib). Dans ce xib, j'ai ajouté 4 onglet éléments de la barre et j'ai mis l'image de l'onglet tout élément de barre. Pour cette raison, je suis confronté à 2 problèmes:
1) L'image est de couleur blanche, mais quand je lance l'application, elle présente toutes les images sur la barre d'onglet de l'élément de gris colorés. Comment puis-je le faire paraître les mêmes qu'à l'image d'origine.
2) j'ai une image sélectionnée, que je veux ajouter sur la barre d'onglet de l'élément actuellement sélectionné. Comment dois-je faire???
Mis à JOUR APRÈS que NICK CODE:
Bon, dans l'iOS 5, vous allez avoir à écrire de code suivant dans votre délégué d'application pour le réglage de la barre d'onglet de l'élément sélectionné et non sélectionnée de l'image (la catégorie solution ne fonctionne que sur 4):
if ([[[UIDevice currentDevice] systemVersion] floatValue]>4.9) {
NSString *selectedImageName,*unselectedImageName;
for (int counter = 0; counter < [self.tabBarController.tabBar.items count]; counter++) {
if (counter==0) {
selectedImageName = <someImagename>;
unselectedImageName = <someImagename>;
}
else if (counter==1) {
selectedImageName = <someImagename>;
unselectedImageName = <someImagename>;
}
.
.
else {
selectedImageName = <someImagename>;
unselectedImageName = <someImagename>;
}
UIImage *selectedImage = [UIImage imageNamed:selectedImageName];
UIImage *unselectedImage = [UIImage imageNamed:unselectedImageName];
UITabBarItem *item = [self.tabBarController.tabBar.items objectAtIndex:counter];
if ([item respondsToSelector:@selector(setFinishedSelectedImage:withFinishedUnselectedImage:)]) {
[item setFinishedSelectedImage:selectedImage withFinishedUnselectedImage:unselectedImage];
}
}
}
- Il suffit d'aller dans ce tutoriel une fois - sugartin.info/2011/07/01/customizing-tab-bar - Illustré tout u besoin, y compris un exemple de code. Cheers & bonne chance.
- En fait la catégorie de travaux sur iOS5 trop, juste pas dans le simulateur.
Vous devez vous connecter pour publier un commentaire.
Ajouter cette catégorie pour votre projet. Il sera force de l'onglet de la barre de points à utiliser votre image d'origine que l'état désactivé à la place de l'application d'un gris dégradé à eux:
Cela peut sembler comme il est à l'aide d'Api privées, mais j'ai vu cela plusieurs fois sur les applications qui ont été approuvées. Ce n'est pas vraiment appel une méthode privée, juste en substituant un.
Si vous avez besoin de spécifier les différentes images pour le sélectionnés et non sélectionnés de l'image, votre meilleur pari est probablement d'utiliser la propriété tag de la UITabBarItem et d'une instruction switch, comme ceci:
Puis dans interface builder, ne vous embêtez pas avec le réglage de la barre d'onglet images d'élément comme ils vont juste être ignoré. Au lieu de cela, fixer leurs balises pour correspondre à l'image que vous avez spécifié dans votre instructions de commutation.
Notez que si vous disposez de plusieurs barres d'onglets dans votre application, et vous ne voulez pas qu'ils tous être substituée dans cette façon, vous pouvez définir ces méthodes sur une sous-classe de UITabBarItem plutôt que comme une catégorie. Ensuite, vous pouvez définir la classe de l'onglet de la barre d'éléments dans votre plume fichier à la sous-classe personnalisée au lieu d'un UITabBarItems, et uniquement celles-là seront touchés.
EDIT:
Noter que depuis iOS 5, il existe une meilleure façon de faire cela à l'aide de la UIAppearance Api. Cette technique doit encore travailler, mais qui sait si Apple pourrait commencer à la fissuration sur elle, maintenant qu'il est officiellement prise en charge de l'approche. Mieux utiliser la nouvelle méthode, sauf si vous avez vraiment besoin de iOS 4.
Basé sur http://blog.theanalogguy.be/ fonctionne pour moi. Ajouter la catégorie UItabBarItem (CustomUnselectedImage) - n'ont pas d'effet =(
l' *.h
et *.m
heureux de codage =]-