iOS自适应label高度和宽度
来源:互联网 发布:男士双肩包品牌知乎 编辑:程序博客网 时间:2024/04/30 01:45
CGRect titleLbframe = [self.newsmodels.titleboundingRectWithSize:CGSizeMake(width,9999)options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFontsystemFontOfSize:13]}context:nil];
参考
在使用UILabel存放字符串时,经常需要获取label的长宽数据,本文列出了部分常用的计算方法。
1.获取宽度,获取字符串不折行单行显示时所需要的长度
CGSize titleSize = [aString sizeWithFont:font constrainedToSize:CGSizeMake(MAXFLOAT, 30)];
注:如果想得到宽度的话,size的width应该设为MAXFLOAT。
2.获取高度,获取字符串在指定的size内(宽度超过label的宽度则换行)所需的实际高度.
CGSize titleSize = [aString sizeWithFont:font constrainedToSize:CGSizeMake(label.frame.size.width, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];
注:如果想得到高度的话,size的height应该设为MAXFLOAT。
3.实际编程时,有时需要计算一段文字最后一个字符的位置,并在其后添加图片或其他控件(如info图标),下面代码为计算label中最后一个字符后面一位的位置的方法。
CGSize sz = [label.text sizeWithFont:label.font constrainedToSize:CGSizeMake(MAXFLOAT, 40)];
CGSize linesSz = [label.text sizeWithFont:label.font constrainedToSize:CGSizeMake(label.frame.size.width, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];
if(sz.width <= linesSz.width) //判断是否折行
{
lastPoint = CGPointMake(label.frame.origin.x + sz.width, label.frame.origin.y);
}
else
{
lastPoint = CGPointMake(label.frame.origin.x + (int)sz.width % (int)linesSz.width,linesSz.height - sz.height);
}
原文地址:http://www.cnblogs.com/spiritstudio/archive/2011/11/17/2252074.html
- iOS自适应label高度和宽度
- iOS Label的宽度和高度自适应
- iOS label自适应高度(宽度)
- label自适应宽度和高度
- iOS Label自适应高度/宽度 , 图片自适应
- UI之Label自适应高度和宽度
- iOS label宽度自适应
- IOS7 label 宽度高度自适应
- iOS 计算label的宽度和高度
- IOS Label 自适应高度
- iOS 自适应label高度
- iOS label自适应高度
- ios Label高度自适应
- iOS label自适应高度
- iOS label自适应高度
- ios xib label 自适应宽度
- iOS Label文本自适应高度
- ios label高度的自适应
- Unity3D圆滑旋转物体
- linux命令--cat、常用命令全称
- 第十九章 动态URL权限控制
- hd 1232 畅通工程
- centos7 搭建SVN服务器
- iOS自适应label高度和宽度
- AutoLayout:忘掉Frame,拥抱Constraint(I)
- C#命名规范
- 安卓加载大量图片
- 第二十章 无状态Web应用集成
- Ubuntu下python 配置mysql
- 响应者链
- 性能
- 有趣的Autolayout示例-Masonry实现