UILabel 自适应高度•自动换行

 1 //初始化label
 2 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];
 3 //设置自动行数与字符换行
 4 [label setNumberOfLines:0];
 5 label.lineBreakMode = UILineBreakModeWordWrap; 
 6 // 测试字串
 7 NSString *s = @"史蒂夫·保罗·乔布斯(1955.2.24—2011.10.5),美国发明家、企业家、美国苹果公司联合创办人。乔布斯被认为是计算机业界与娱乐业界的标志性人物,他经历了苹果公司几十年的起落与兴衰,先后领导和推出了麦金塔计算机(Macintosh)、iMac、iPod、iPhone、iPad等风靡全球的电子产品,深刻地改变了现代通讯、娱乐、生活方式。乔布斯同时也是前Pixar动画公司的董事长及行政总裁。2011年10月5日,因胰腺癌病逝,享年56岁。";
 8 UIFont *font = [UIFont fontWithName:@"Arial" size:12];
 9 //设置一个行高上限
10 CGSize size = CGSizeMake(320,2000);
11 //计算实际frame大小,并将label的frame变成实际大小
12  CGSize labelsize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];
13 [label setFrame:CGRectMake:(0,0, labelsize.width, labelsize.height)];
posted @ 2014-09-03 09:37  激情为梦想而生  阅读(154)  评论(0编辑  收藏  举报