您的位置:首页 > 移动开发 > IOS开发

iOS中文本自适应高度显示完所有文字

2015-05-04 09:17 531 查看
/*----------
文本自适应高度 -----------*/
UILabel * descritionLabel = [[UILabel
alloc] initWithFrame:CGRectMake(0,
0, 220,
300)];
NSString * desText =
@"乔布斯是改变世界的天才,他凭敏锐的触觉和过人的智慧,勇于变革,不断创新,引领全球资讯科技和电子产品的潮流,把电脑和电子产品不断变得简约化、平民化,让曾经是昂贵稀罕的电子产品变为现代人生活的一部分。";
descritionLabel.text = desText;
descritionLabel.backgroundColor = [UIColor
yellowColor];
descritionLabel.textColor = [UIColor
colorWithRed:11/255.0
green:179/255.0
blue:252/255.0
alpha:0.9];
descritionLabel.font = [UIFont
systemFontOfSize:20];
descritionLabel.lineBreakMode =
NSLineBreakByTruncatingHead;//设置换行模式
descritionLabel.numberOfLines =
0; //设置文本行数为0时则不限制
CGSize contanSize =
CGSizeMake(280,
400);//大小约束

//获取能显示完文本的大小
CGRect autoRect = [desText
boundingRectWithSize:contanSize
options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading
attributes:@{NSFontAttributeName:descritionLabel.font}
context:nil];

//用获取的大小重新设置frame

descritionLabel.frame =
CGRectMake(50,
460, 280, autoRect.size.height);

[self.view
addSubview:descritionLabel];
效果图如下所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: