我曾在UILabel工作过.但不推荐使用setLineBreakMode.
我一直在使用NSAttributedString.
但是UILabel setLineBreakMode是
之后,UILabel setNumberOfLines else不起作用.
我一直在使用NSAttributedString.
但是UILabel setLineBreakMode是
之后,UILabel setNumberOfLines else不起作用.
之前:
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之后:
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,50.0f)]; label.attributedText = string; [string relase];