【iOS】根据文本内容确定文本框高度

第三方库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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值