Neue multiline NSAttributedString
Arbeitete ich UILabel. Aber setLineBreakMode ist veraltet.
Ich habe mit NSAttributedString.
aber UILabel setLineBreakMode ist
Danach UILabel setNumberOfLines sonst nicht funktioniert.
Bevor:
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 nach:
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];
Will ich das gleiche vor und nach dem display.
So zeigen Sie mehrere Zeilen?
- Viele werden Sie hier finden. Haben Sie gesehen <stackoverflow.com/questions/8921858/...>?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
lineBreakMode
Eigenschaft ist nicht deprecated in iOS 6. Es hat sich einfach geändert, die Namen der Konstanten. Die alten Konstanten sind veraltet, aber immer noch vorhanden. Sie können den neuen Konstanten, selbst wenn Sie eine Bereitstellung auf eine ältere iOS, denn die Konstanten sind nur für enum-Werte. Die alten Namen und den neuen Namen die gleichen Werte haben. So, setzen Sie einfachmemoLabel.lineBreakMode = NSLineBreakByTruncatingTail
.Deinem Beispiel code gar nicht angezeigt wird, um die Vorteile zugeschrieben string Besonderheiten. Wenn Sie nicht brauchen, ein attributiertes string, halten Sie einfach mit einem einfachen string. Das funktioniert noch in iOS 6.
Verwenden
NSLineBreakByTruncatingTail
stattUILineBreakModeTailTruncation