Nouveau NSAttributedString multiligne
J'ai travaillé UILabel. Mais setLineBreakMode est obsolète.
J'ai été en utilisant NSAttributedString.
mais UILabel setLineBreakMode est
Après que UILabel setNumberOfLines d'autre ne fonctionne pas.
Avant:
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(42.0f, 10.0f, 275.0f, 50.0f)];
label.text = @"XXXXXX";
memoLabel.textAlignment = UITextAlignmentLeft;
memoLabel.numberOfLines = 2;
memoLabel.lineBreakMode = UILineBreakModeTailTruncation;
memoLabel.font = [UIFont systemFontOfSize:11];
memoLabel.backgroundColor = [UIColor clearColor];
IOS 6 après:
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping;
paragraphStyle.alignment = NSTextAlignmentLeft;
NSAttributedString *string
= [[NSAttributedString alloc] initWithString:text
attributes:[NSDictionary
dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:11],
NSFontAttributeName,
paragraphStyle, NSParagraphStyleAttributeName,nil]];
[paragraphStyle release];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(42.0f, 10.0f, 275.0f, 50.0f)];
label.attributedText = string;
[string relase];
Je veux être le même avant et après l'affichage.
Comment faire pour afficher plusieurs lignes?
Beaucoup de vous trouver ici. Avez-vous vu <stackoverflow.com/questions/8921858/...>?
OriginalL'auteur user1796025 | 2012-11-03
Vous devez vous connecter pour publier un commentaire.
La
lineBreakMode
propriété n'est pas obsolète dans iOS 6. Il a simplement changé les noms des constantes. L'ancien constantes sont obsolètes, mais encore disponible. Vous pouvez utiliser les nouvelles constantes, même si vous déployez un ancien iOS, parce que les constantes sont juste les valeurs de l'enum. Les noms anciens et les nouveaux noms ont les mêmes valeurs. Donc, il suffit de définirmemoLabel.lineBreakMode = NSLineBreakByTruncatingTail
.Votre exemple de code ne semble pas prendre avantage de toute attribué chaîne de caractères spécifiques. Si vous n'avez pas besoin attribué chaîne, il suffit de garder à l'aide d'une chaîne simple. Qui fonctionne encore sous iOS 6.
OriginalL'auteur rob mayoff
Utilisation
NSLineBreakByTruncatingTail
au lieu deUILineBreakModeTailTruncation
OriginalL'auteur Tieme