En fait, j'aime UILabel. Ils sont adorables. Maintenant, je devais aller à UITextView car UILabel n'aligne pas le texte verticalement en haut. Zut. Une chose dont j'ai vraiment besoin est une ombre de texte. UILabel l'a. UITextView ne semble pas l'avoir. Mais je suppose que ce gars utilise simplement les mêmes ajouts sous-jacents UIKit NSString ?? Peut-être que quelqu'un a déjà une solution à ce problème? Qu'est-ce que j'écraserais?
Réponses
Trop de publicités?
adjwilli
Points
4477
nik
Points
530
La réponse avec
text.layer.shadowColor
ajoute de l'ombre à tout le texteView, peut-être que cela fonctionne, mais il ajoute non seulement de l'ombre au texte.
La bonne réponse est:
CALayer *textLayer = ((CALayer *)[textView.layer.sublayers objectAtIndex:0]);
textLayer.shadowColor = [UIColor whiteColor].CGColor;
textLayer.shadowOffset = CGSizeMake(0.0f, 1.0f);
textLayer.shadowOpacity = 1.0f;
textLayer.shadowRadius = 1.0f;
Robert
Points
10822
Dans iOS 6+, utilisez le texte attribué
NSShadow * shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor blackColor];
shadow.shadowOffset = CGSizeMake(2, 2);
NSDictionary * textAttributes =
@{ NSForegroundColorAttributeName : [UIColor blueColor],
NSShadowAttributeName : shadow,
NSFontAttributeName : [UIFont boldSystemFontOfSize:20] };
textView.attributedText = [[NSAttributedString alloc] initWithString:@"Hello"
attributes:textAttributes];
Hunter Su
Points
8
Robert a raison! Génial!!!
NSShadow * shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor blackColor];
shadow.shadowOffset = CGSizeMake(2, 2);
NSDictionary * textAttributes =
@{ NSForegroundColorAttributeName : [UIColor blueColor],
NSShadowAttributeName : shadow,
NSFontAttributeName : [UIFont boldSystemFontOfSize:20] };
textView.attributedText = [[NSAttributedString alloc] initWithString:@"Hello"
attributes:textAttributes];
Cocoanetics
Points
5729