Dans mon application IPhone, je veux que le texte dans UILabel s'illumine pendant une seconde, puis s'estompe pendant une seconde ;. Je souhaite également répéter ce cycle 3 ou 4 fois.
Est-ce possible ?
Dans mon application IPhone, je veux que le texte dans UILabel s'illumine pendant une seconde, puis s'estompe pendant une seconde ;. Je souhaite également répéter ce cycle 3 ou 4 fois.
Est-ce possible ?
Depuis la version 3.2 you, le SDK prend directement en charge les ombres.
label.layer.shadowColor = [label.textColor CGColor];
label.layer.shadowOffset = CGSizeMake(0.0, 0.0);
Jouez avec les paramètres :
label.layer.shadowRadius = 3.0;
label.layer.shadowOpacity = 0.5;
Et pour éviter que l'ombre ne soit coupée par les boudins de l'étiquette :
label.layer.masksToBounds = NO;
N'oubliez pas de
#include <Quartzcore/Quartzcore.h>
et le lier à la QuartzCore
o CoreGraphics
(merci aux commentateurs de l'avoir signalé).
J'ai mis en ligne un exemple de code qui sous-classe UILabel et vous permet d'appliquer une lueur et des ombres douces au texte.
http://www.redrobotstudios.com/blog/2010/04/29/create-glow-soft-shadow-text-on-iphone/
Oui. Utilisez beginAnimation...commitAnimation, et utilisez la valeur alpha pour éclaircir ou assombrir l'ULabel. Assurez-vous que la valeur par défaut de l'alpha de l'ULabel commence à 0,85 et s'éclaircit jusqu'à 1,0, puis s'assombrit jusqu'à 0,75, et lorsque tout est terminé, vous revenez à 0,85.
Il existe d'autres façons de procéder, par exemple en plaçant une autre vue grise ou noire au-dessus de l'étiquette et en utilisant le même begin...commitAnimation pour modifier l'alpha de cette vue de 0 à 0,20 environ.
Il existe de nombreuses façons de procéder, avec une qualité variable. L'une d'entre elles consisterait à sous-classer UILabel et à implémenter une sorte d'effet de gradient dans coregraphics dans la méthode drawRect.
Vous pouvez également jouer avec l'ombre du texte (changer la couleur et l'alpha) et voir si vous pouvez obtenir une lueur décente.
Le moyen le plus simple est probablement de créer une image transparente de type glow-outline dans Photoshop et de la placer derrière votre texte, puis de faire comme mahboudz le suggère... un fondu de l'image en utilisant coreanimation.
- (UILabel *) setUpGlowLabelWithFrame: (CGRect) frame fontSize: (int)fontSize {
UILabel* label = [[UILabel alloc] initWithFrame:frame];
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:fontSize];
label.textColor = [UIColor whiteColor];
label.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin;
label.textAlignment = UITextAlignmentCenter;
label.layer.shadowColor = [label.textColor CGColor];
label.layer.shadowOffset = CGSizeMake(0.0, 0.0);
label.layer.masksToBounds = NO;
label.layer.shadowRadius = 0.5f;
label.layer.shadowOpacity = 0.95;
label.numberOfLines = 2;
label.tag = 20;
return label;
}
J'obtiens un effet lumineux en l'utilisant.
J'espère que cela vous aidera.
Bon codage :)
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.