利用系统提供的方法:
- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context
该函数返回一个CGRect类型的值:其中,x=0、y=0,而width和height都是计算出来的准确值。
参数讲解:
- size:如果
width和height都为MAXFLOAT则文本不换行;如果为width赋一个有限值,则以该width为文本的宽,高度为计算出的高 - options:枚举类型:1.NSStringDrawingTruncatesLastVisibleLine = 1 << 5,
2.NSStringDrawingUsesLineFragmentOrigin = 1 << 0,
3.NSStringDrawingUsesFontLeading = 1 << 1,
- NSStringDrawingUsesDeviceMetrics = 1 << 3,
- attributes:该参数是字典类型的值,字典中的
key名可以在UIKit框架中的NSAttributedString.h文件中可以找到
实例代码:
UIFont font=[UIFont systemFontOfSize:18];
NSDictionary* dict=@{NSFontAttributeName:font};
- context::这里一般写
nil
这篇博客介绍了如何在iOS中利用系统提供的方法计算文本的宽度和高度。通过设置特定的参数如size、options和attributes字典,可以精确获取文本的布局尺寸。示例代码展示了具体的实现过程。
1804

被折叠的 条评论
为什么被折叠?



