UILabel 根据文本内容设置frame
CGRect senderFrame = cell.senderLabel.frame;
CGRect creatAtFrame = cell.creatAtLabel.frame;
CGSize senderSize = [cell.senderLabel.text sizeWithAttributes:@{NSFontAttributeName:[UIFont fontWithName:@"Heiti SC" size:15.0]}];
senderFrame.size.width = ceil(senderSize.width);
if (senderFrame.size.width>0) {
senderFrame.size.width=ceil(senderSize.width)+10;
}
if (senderFrame.size.width>200) {
senderFrame.size.width = 200;
}
cell.senderLabel.frame = senderFrame;
creatAtFrame.origin.x = CGRectGetMaxX(cell.senderLabel.frame)+10;
cell.creatAtLabel.frame = creatAtFrame;
NSDictionary *info = messageModel.info;
// 设置属性来设置行高
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.lineSpacing = 3;
NSDictionary *attributes = @{NSFontAttributeName: [UIFont systemFontOfSize:15.0],NSParagraphStyleAttributeName:paragraphStyle};
CGFloat width = CGRectGetWidth(self.view.frame)-CGRectGetMinX(cell.senderLabel.frame) - 16;
CGRect frame = cell.descLabel.frame;
frame.size.width = width;
cell.descLabel.emojiDelegate = self;
[cell.descLabel sizeToFit];
// cell.descLabel.text = info[@"message"];
[cell.descLabel setEmojiText:messageModel.timeViewStr];
CGRect bodyFrame = CGRectMake(0, 0, 0, 0);
// if (cell.descLabel.text!=NULL) {
bodyFrame = [cell.descLabel.text boundingRectWithSize:CGSizeMake(width, 500) options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil];
frame.size.height = ceil(bodyFrame.size.height);
cell.descLabel.frame = frame;
UILabel 根据文本内容设置frame的更多相关文章
- JS---DOM---设置和获取---标签内容和文本内容
设置和获取---标签内容和文本内容 总结---设置: 使用innerText主要是设置文本的, 设置标签内容, 是没有标签的效果的 innerHTML是可以设置文本内容 innerHTML主要的作 ...
- 设置UILabel可变高度(根据文本内容自动适应高度)
@property(nonatomic)UILabel *showLabel; // 计算文本所占高度,计算出来之后设置label的高度 // 第一个参数:字体大小,字体大小/样式影响计算字体的高 ...
- 【docker-compose】docker-compose.yml文本内容详解 + docker-compose命令详解 + docker-compose启动服务容器时区设置
参考地址:https://blog.csdn.net/Kiloveyousmile/article/details/79830810 参考地址:https://docs.docker.com/comp ...
- IE8下动态生成option无法设置文本内容
问题: 1.在IE8下,JS动态添加 option 的时候,value 有值,但是文本内容添加不上 例:<option value="北京"></option&g ...
- iOS 动态计算文本内容的高度
关于ios 下动态计算文本内容的高度,经过查阅和网上搜素,现在看到的有以下几种方法: 1. // 获取字符串的大小 ios6 - (CGSize)getStringRect_:(NSString* ...
- UILabel的相关属性设置
在iOS编程中UILabel是一个常用的控件,下面分享一下UILabel的相关属性设置的方法. 很多学习iOS6编程都是从storyboard开始,用到UILabel时是将控件拖到storyboard ...
- iOS开发笔记--UILabel的相关属性设置
在iOS编程中UILabel是一个常用的控件,下面分享一下UILabel的相关属性设置的方法. 很多学习iOS6编程都是从storyboard开始,用到UILabel时是将控件拖到storyboard ...
- 深入学习jQuery描述文本内容的3个方法
× 目录 [1]html() [2]text() [3]val()[4]总结 前面的话 在javascript中,描述元素内容有5个属性,分别是innerHTML.outerHTML.innerTex ...
- 19. UIAlertController 提示框获取文本内容,打印控制台上
1.首先定义一个全局字符串变量,方便接收获取的文本内容 2. -(void)viewDidAppear:(BOOL)animated{ UIAlertController * alert = [UIA ...
随机推荐
- Xamarin.ios 调用接口
NSString urlstring = new NSString("http://211.155.229.230:8585/api/users/postregister"); ...
- 【原创】JEECMS v6~v7任意文件上传漏洞(2)
文章作者:rebeyond 受影响版本:v6~v7 漏洞说明: JEECMS是国内Java版开源网站内容管理系统(java cms.jsp cms)的简称.该系统基于java技术开发,继承其强大.稳定 ...
- 给zabbix穿一件漂亮的衣服
推荐给zabbix穿上一件漂亮的衣服,安装Grafana推荐连接:http://www.myexception.cn/software-testing/2008870.html yum install ...
- ubuntu安装simplejson模块
在terminal中输入 sudo apt-get install python-simplejson -y import simplejson print simplejson.dumps(lens ...
- 为你的pip更换一个国内的镜像源
为你的pip更换一个国内的镜像源 是否常常为pypi官网被无故和谐掉导致pip不能下载python的各个包而痛心疾首? 是否常常在深夜里看着pip install 下载包的速度慢如乌龟而长吁短叹? 是 ...
- Web安全之SQL注入攻击技巧与防范
http://www.plhwin.com/2014/06/13/web-security-sql/
- df命令
http://www.th7.cn/system/lin/201311/46839.shtml http://www.111cn.net/sys/CentOS/86335.htm
- 盒子 offsetLeft、offsetTop、offsetWidth、getBoundingClientRect等属性解释
offsetLeft 获取的是忽略 margin 当前元素距离上一级父节点(有没有设置position,有的话依据父节点,没有的话依据页面最左端这时候不管滚动条移到哪) 当前元素向左的位置 记住它会将 ...
- 通过transform修改位置 大小 旋转 形变
--通过transform修改位置(平移)- CGAffineTransformMakeTranslation(**X偏移量**, **Y偏移量**);- CGAffineTransformTrans ...
- Codility NumberSolitaire Solution
1.题目: A game for one player is played on a board consisting of N consecutive squares, numbered from ...