3 votes

Certains éléments de l'interface utilisateur n'acquièrent pas les traits UIAppearance

J'essaie d'utiliser UIAppearance pour obtenir un thème de couleur uniforme dans mon application iOS. Par exemple, j'essaie de définir la couleur du texte de toutes les applications iOS. UILabel comme suit :

[[UILabel appearance] setTextColor:[UIColor colorWithRed:0.7 green:0.07 blue:0.12 alpha:1]];

Cela fonctionne bien pour tous les objets définis de manière statique dans mon storyboard/XIBs. Cependant, j'ai parfois besoin de créer dynamiquement un UILabel dans une vue. Dans ces cas, la UIAppearance n'est pas utilisée. La couleur par défaut du texte (noir) est utilisée à la place.

Quelqu'un a-t-il rencontré ce problème ou trouvé un moyen de le contourner sans avoir recours à la vieille méthode consistant à "définir manuellement chaque élément" ?

3voto

Emilio Points 990

Il semble que toutes les classes ne supportent pas UIAppearance et UILabel n'en fait pas partie.

Consultez cette question pour plus d'informations : UIAppearance ne prend pas effet sur les UILabels créés par programme

Voici une liste des classes qui prennent en charge UIAppearance : http://blog.mosheberman.com/list-of-classes-that-support-uiappearance-in-ios-5/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X