第三方库TQRichTextView https://github.com/TinyQ/TQRichTextView 是一个图文混排的第三方库,可以根据文本内容设置文本框的高度。系统也自带了一种方法可以根据文本的内容设置文本的高度。
UILabel *testLabel = [UILabel new];
testLabel.backgroundColor = [UIColor grayColor];
testLabel.font = [UIFont systemFontOfSize:14];
NSString *testLabelContent = @"“百度”这一公司名称便来自宋词“众里寻他千百度”。 (百度公司会议室名为青玉案,即是这首词的词牌)。而“熊掌”图标的想法来源于“猎人巡迹熊爪”的刺激,与李彦宏博士的“分析搜索技术”非常相似,从而构成百度的搜索概念,也最终成为了百度的图标形象。 在这之后,由于在搜索引擎中,大都有动物形象来形象,如SOHU的狐,如GOOGLE的狗,而百度也便顺理成章称做了熊。百度熊也便成了百度公司的形象物。";
testLabel.text = testLabelContent;
testLabel.numberOfLines = 0;//多行显示,计算高度
testLabel.textColor = [UIColor whiteColor];
//这个注释的可以自动设置宽度
// CGSize size = CGSizeMake(320, 1000); //先预设一个宽和高
// CGSize titleSize = [titleLabel.text sizeWithFont:titleLabel.font constrainedToSize:size lineBreakMode:NSLineBreakByWordWrapping];//titleLabel.text是文本大小,这里计算的是文本大小 iOS7 以后这个方法就被遗弃了
CGSize testSize = [testLabelContent boundingRectWithSize:CGSizeMake(self.view.frame.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]} context:nil].size;
testLabel.frame = CGRectMake(0, 100, testSize.width, testSize.height);
[self.view addSubview:testLabel];
就是这样的额效果图。
关于第三方库TQRichTextView的使用可以参考者一篇博客:
http://www.cnblogs.com/CCSSPP/p/3339984.html