iOS小技巧使用boundingRectWithSize计算内容
2016-08-25 本文已影响8232人
woooooo
- 参数1.设置的区域大小 参数2.设置 参数3.字体(需要用字典存储) 详细见例子
- 返回值是一个CGRect类型的值
使用:boundingRectWithSize计算文字高度 (计算不是很准确)
实例代码
NSString *info = @"但是公司的高度是广东省公司的广东省高速度来开个大帅哥多撒谎个爱好就跟他说噶三公司噶是的刚好是我哥如果黑暗如果坏都干撒降低公司及嘎斯进欧冠赛欧结果就赛欧国际韶关;可垃圾费;阿尔加两块;三个身高萨嘎干撒的公司的高度上收到公司的公司都给ID搜狗破is打个屁偶是东莞IP手动皮革是滴哦苹果是滴哦苹果度搜皮为欧公司的漂漂是第三个是干撒噶是的噶虽然刚撒旦个撒公司的公司的高度";;
CGSize infoSize = CGSizeMake(tableView.frame.size.width, 1000);
NSDictionary *dic = @{NSFontAttributeName : [UIFont systemFontOfSize:17.f ]};
//默认的
CGRect infoRect = [info boundingRectWithSize:infoSize options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:dic context:nil];
// 参数1: 自适应尺寸,提供一个宽度,去自适应高度
// 参数2:自适应设置 (以行为矩形区域自适应,以字体字形自适应)
// 参数3:文字属性,通常这里面需要知道是字体大小
// 参数4:绘制文本上下文,做底层排版时使用,填nil即可
//上面方法在计算文字高度的时候可能得到的是带小数的值,如果用来做视图尺寸的适应的话,需要使用更大一点的整数值.取整的方法使用ceil函数
return height + ceil(infoRect.size.height);