2010-12-10 29 views
4

J'essaie d'obtenir un effet "embed" sur mon UILabel dans mon application.Comment faire une ombre inversée sur UILabel?

Voici ce que je veux dire:

alt text

Je veux qu'il ressemble à la police est « intégrée » ou enfoncé dans l'arrière-plan. S'il vous plaît noter que cette police est dynamique, le UILabel sera modifié par programme.

Des idées quant à la façon dont cela peut être fait ou à ce que la police ressemble à ceci?

Merci d'avance!

--------------------------------------------- -------------------------------------------------- ---------------

Edit: Merci àfbrunel, je me suis dit comment le faire. Découvrez le résultat, cependant.

alt text

Il n'a vraiment pas l'air très agréable, des idées pourquoi?

+1

Essayez en utilisant '[UIColor colorWithWhite: 1,0 alpha: 0,5]' ​​au lieu d'un blanc pur. Vous pouvez également expérimenter avec différentes nuances de gris (et différentes valeurs alpha). Pour un effet légèrement différent, vous pouvez essayer de faire le .shadowOffset '(0, -1)'. Vous devrez modifier la couleur de l'ombre jusqu'à ce que le texte et la couleur d'arrière-plan avec lesquels vous travaillez fonctionnent bien. –

+0

Ça a l'air beaucoup mieux, merci Nick! –

Répondre

11

Il est fait en utilisant une ombre « inversé » sur le texte. Sur UILabel vous avez deux propriétés pour le faire: shadowColor et shadowOffset (la direction de l'ombre).

label.shadowColor = [UIColor whiteColor]; 
label.shadowOffset = CGSizeMake(0, 1); 

Fait l'affaire.

+0

Si vous ajoutez quatre espaces avant les lignes de code, ils apparaîtront dans un joli bloc avec une police monospace, juste pour des raisons de lisibilité. –

+0

Comment rendre l'ombre plus visible? J'ai essayé votre code et je ne peux pas vraiment dire si ça marche ou pas parce que je ne peux pas le voir. –

+0

Vous ne pouvez pas contrôler avec une largeur de l'ombre avec cette méthode, il est une question est de choisir les bonnes couleurs pour avoir un bon contraste - pour vous assurer que le code fonctionne, essayez une drôle de couleur (comme le rouge) et jouer avec la direction . – fbrunel