计算字符串的宽度、高度
来源:互联网 发布:项羽 知乎 编辑:程序博客网 时间:2024/05/16 15:42
在使用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);
}
ios7.0 之后该用:
CGFloat width1=[(NSString *)ob1 sizeWithFont:[UIFont systemFontOfSize:16] constrainedToSize:CGSizeMake(1000, FONTHEIGHT)].width;转
CGFloat width1=[(NSString *)ob1 boundingRectWithSize:CGSizeMake(1000, FONTHEIGHT) options:NSStringDrawingUsesLineF
boundingRectWithSize: CGSize 对应 constrainedToSize: CGSize
attributes:@{NSFontAttributeName: [ UIFont ] } 对应 sizeWithFont[ UIFont ]
options: NSStringDrawingUsesLineF
context: nil 默认照填
- 计算字符串的宽度、高度
- JAVA 计算字符串的高度和宽度
- 计算字符串的宽度和高度
- 计算字符串的宽度与高度
- 计算字符串在画布内的高度和宽度
- Swift开发教程--如何计算字符串的宽度和高度
- Swift计算字符串高度,宽度,size方法
- Swift计算字符串size(宽度,高度)方法
- 计算字符串的高度
- UILabel的高度和宽度计算
- 计算文字的宽度和高度
- 根据宽度计算Label的高度
- 自动计算UILabel的宽度或则高度
- 计算文本宽度和高度的方法
- 计算一个字符的宽度和高度
- 计算文字的高度和宽度
- iOS 计算label的宽度和高度
- Android下如何计算要显示的字符串所占的宽度和高度
- Gem5在X64架构下运行SPEC2006
- xposed框架 微信群发源码
- Apache OpenNLP
- css中定位中的absolute和relative
- 每日一题(6):
- 计算字符串的宽度、高度
- PHP编码规范
- 数据结构与算法分析笔记与总结(java实现)--字符串1:字符串的排列(*)
- 你有没有想过你的上级为什么让你干这件事情,他想干什么
- WinSock 异步I/O模型[3]---事件选择 - WSAEventSelect
- 线程的死锁
- Tomcat基于Coyote的HTTP 1.1协议连接器
- 方格填数(2016年蓝桥杯)
- 汇道科技小编整理成为Java高手的25个学习要点