//识别\n\t多行
1 -(void) theViewInTheLableToRefresh 2 { 3 UILabel *lab = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 310, 1)]; 4 lab.text = m_strContentText; 5 lab.numberOfLines = 0; 6 lab.textColor = [UIColor whiteColor]; 7 lab.lineBreakMode = NSLineBreakByTruncatingTail; 8 UIFont * tfont = [UIFont fontWithName:FontName size:14.f]; 9 lab.font = tfont; 10 CGSize size =CGSizeMake(310,MAXFLOAT); 11 12 NSDictionary * tdic = [NSDictionary dictionaryWithObjectsAndKeys:tfont,NSFontAttributeName,nil]; 13 14 //ios7方法,获取文本需要的size,限制宽度 15 16 CGSize actualsize =[m_strContentText boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin attributes:tdic context:nil].size; 17 18 CGRect rect1 = lab.frame; 19 rect1.size.height = actualsize.height; 20 lab.frame = rect1; 21 22 23 [m_viewScroll addSubview:lab]; 24 25 m_viewScroll.contentSize = CGSizeMake(320, lab.frame.size.height+20); 26 }
//自动计算
+(UILabel*) addAutoLable:(CGRect)rect strTitle:(NSString*)strTitle { UILabel *labTitle = [[UILabel alloc] initWithFrame:rect]; [labTitle setNumberOfLines:0]; labTitle.textColor = [UIColor whiteColor]; labTitle.backgroundColor = [UIColor clearColor]; UIFont * tfont = [UIFont fontWithName:FontName size:12.f]; labTitle.font = tfont; labTitle.text = strTitle; labTitle.lineBreakMode = NSLineBreakByTruncatingTail; labTitle.textAlignment = NSTextAlignmentLeft; CGSize size =CGSizeMake(rect.size.width,MAXFLOAT); NSDictionary * tdic = [NSDictionary dictionaryWithObjectsAndKeys:tfont,NSFontAttributeName,nil]; //ios7方法,获取文本需要的size,限制宽度 CGSize actualsize =[strTitle boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin attributes:tdic context:nil].size; CGRect rect1 = labTitle.frame; rect1.size.height = actualsize.height; labTitle.frame = rect1; return labTitle; }