IM Utilisez actuellement Xcode 5 pour développer une application orientée par liste. J'ai une teinte personnalisée pour la barre d'onglets, des images personnalisées pour les icônes d'onglets, la teinte personnalisée pour les images d'icône de la barre d'onglets lorsque c'est sélectionné, mais je ne trouve pas comment personnaliser les images d'icône 'TINT pour le moment où elle n'est pas sélectionnée. À l'heure actuelle, c'est juste le gris par défaut que vous pouvez à peine voir contrairement à ma barre d'onglets verts. Je veux faire les images d'icônes de barre d'onglets et noms blancs. p>
Quelqu'un peut-il savoir comment définir la teinte de la barre d'icônes de la barre d'onglets dans Xcode 5? p>
7 Réponses :
Vous pouvez essayer cela pour teinter l'icône sélectionnée: et ceci pour teinter l'icône non active: p>
Notez que SetFinishesElementImageImage: WithfinisheisheduneyecteImage est obsolète dans iOS 7.
Matthew Si son déprécié dans iOS 7 existe une autre façon d'y aller ou est-ce juste parce que Apple veut garder la norme d'icônes grises par défaut?
@ user2792129 - Oui, je viens de me prendre quelques minutes pour obtenir ma réponse dactylographiée dans
Hey, que puis-je faire si je ne veux pas utiliser le titre..its déjà dans l'image. Je souhaite utiliser l'espace de titre pour adapter l'icône au centre de la barre d'onglets.
La voie mise à jour est juste [[[[d'apparence Uitabbar] SetintColor: [Uicolor Whitecolor]];
Vous devez définir le mode de rendu pour chaque onglet (non sélectionné) sur Il y a probablement un meilleur moyen d'obtenir une référence à la barre d'onglets, mais j'ai fait ce qui suit : p> puis le réglage de l'image peut être effectué comme suit: p> UIIMAGERENDERINGMODABONDIX CODE>. Donc, dans votre délégué de l'application, obtenez une référence à la barre d'onglets, puis itérer sur chaque barre d'onglets, ajustant les modes d'image.
Merci Matthew. Je mets ce code dans mon délégué de l'application .m et renvoyé un problème qui a déclaré "la configuration non prise en charge" "un style simple non pris en charge dans un élément de navigation, de la carte principale."
Mon code suppose qu'un contrôleur de barre d'onglets est le contrôleur d'affichage initial du storyboard. Si votre application est configurée différemment, cela peut être la source du problème.
Cela fonctionne mais seulement pour l'une des images. Fondamentalement, j'ai une icône non sélectionnée et sélectionnée. Cette astuce a fait un travail non sélectionné mais sélectionné n'est toujours qu'un gâchis bleu.
@Halsafar C'est parce que vous définissez uniquement le mode de rendu de la base image code>. Faites de même pour le
sélectionImage code> bien que vous souhaitiez la définir sur une image différente, vous ne pouvez pas indiquer la différence entre la sélection et non.
Essayez de cette façon..Il a fonctionné pour moi
dans l'application délégué p> exécuter et go p> p> p> p> p> p> P> P>
Réglage de la barre d'onglets personnalisée avec une image sélectionnée et non sélectionnée. Aussi, avoir la position de tabbaritem Image Incartements dans Centre
UITabBar *tabBar = self.tabBarController.tabBar; UITabBarItem *item0 = [tabBar.items objectAtIndex:0]; UITabBarItem *item1 = [tabBar.items objectAtIndex:1]; UITabBarItem *item2 = [tabBar.items objectAtIndex:2]; UITabBarItem *item3 = [tabBar.items objectAtIndex:3]; [item0 setFinishedSelectedImage:[UIImage imageNamed:@"iconBlue.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"iconGray.png"] ]; [item1 setFinishedSelectedImage:[UIImage imageNamed:@"iconBlue2.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"icon-2.png"]]; [item2 setFinishedSelectedImage:[UIImage imageNamed:@"iconBlue3.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"icon-3.png"]]; [item3 setFinishedSelectedImage:[UIImage imageNamed:@"iconBlue4.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"icon-4.png"]]; item0.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); item1.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); item2.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); item3.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);
car SetFinishedImageImage: WithfinisheisheisheishedImageImage est obsolète, j'ai utilisé une version altérée de la réponse de RAM S en remplaçant: avec: p> [item0 setImage:[[UIImage imageNamed:@"iconGray.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[item0 setSelectedImage:[[UIImage imageNamed:@"iconBlue.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
Si vous avez la barre d'onglets dans Visual Editor, vous pouvez le faire ici. Sélectionnez Barre d'onglets et dans «Attributs d'exécution définis par l'utilisateur» Ajouter un attribut: Chemin de clé: SynchronisationImagetIncolor Type: Couleur Valeur: p>
Comme un charme. Y a-t-il une belle magie pour les icônes non sélectionnées également?
Vous pouvez le faire purement du scénario sans écrire de code en ajoutant un "attribut d'exécution défini par l'utilisateur": p>
Bon à savoir. Mais les attributs d'exécution définis par l'utilisateur sont un cauchemar de débogage absolu.
Quoi d'autre que Tintcolor pouvez-vous taper dans le chemin de la clé?
@RasmusBidstrup, toutes les propriétés pertinentes de l'élément IB sélectionné. Dans notre cas, l'Uitabbar. Alors allez à Apple Doc et lisez la documentation Uitabbar.
Et corrigez-moi si je me trompe, mais cela définira la couleur lorsque vous sélectionnez l'image. Il veut changer la couleur grise par défaut de l'élément et non la couleur sélectionnée?