3 votes

Ajouter une image de fond à un UILabel

J'essaie d'ajouter un UIImageView à la sous-vue d'un UILabel, mais pour une raison quelconque, je ne peux pas l'utiliser comme arrière-plan car il couvrirait le texte de l'étiquette.

Je ne veux pas définir la couleur d'arrière-plan de l'étiquette UILabel comme parce qu'elle se répètera comme un motif :

[self setBackgroundColor: [UIColor colorWithPatternImage:[UIImage imageNamed:@"someBg.png"]]];

En regardant le nombre de sous-vues d'un UILabel brut, il semble que le texte ne soit pas une UIView, donc l'ajout de la sous-vue à l'index 0 n'aidera pas non plus.

J'ai besoin que le texte soit au-dessus de l'arrière-plan de l'image.

Des idées ?

5voto

Ole Begemann Points 85798

Vos options :

  • Enveloppez l'étiquette et l'image d'arrière-plan dans une autre vue de conteneur.
  • Rédigez votre propre classe d'étiquettes prenant en charge les images d'arrière-plan.

1voto

LB. Points 2968

Quoi qu'il en soit, j'ai résolu le problème en héritant de UITextField et en y ajoutant la sous-vue. Cela fonctionne car il y a en fait une sous-vue UILabel dans ce contrôle et l'ajouter derrière résout naturellement le problème.

J'ai également désactivé l'interaction avec l'utilisateur pour qu'il se comporte comme une étiquette.

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