计算一行文本的高度
计算 文本 高度 一行
2023-09-14 08:57:30 时间
计算一行文本的高度
说明
有时候我们需要知道指定的几行文本的高度,此工具用于解决此种问题。
源码
// // NSString+LabelWidthAndHeight.h // ZiPeiYi // Created by YouXianMing on 15/12/9. // Copyright © 2015年 YouXianMing. All rights reserved. #import Foundation/Foundation.h #import UIKit/UIKit.h @interface NSString (LabelWidthAndHeight) * Get the strings height with the fixed width. * @param attribute Strings attribute, eg. attribute = @{NSFontAttributeName: [UIFont systemFontOfSize:18.f]} * @param width Fixed width. * @return Strings height. - (CGFloat)heightWithStringAttribute:(NSDictionary NSString *, id *)attribute fixedWidth:(CGFloat)width; * Get the strings width. * @param attribute Strings attribute, eg. attribute = @{NSFontAttributeName: [UIFont systemFontOfSize:18.f]} * @return Strings width. - (CGFloat)widthWithStringAttribute:(NSDictionary NSString *, id *)attribute; * Get a line of text height. * @param attribute Strings attribute, eg. attribute = @{NSFontAttributeName: [UIFont systemFontOfSize:18.f]} * @return Strings width. + (CGFloat)aLineOfTextHeightWithStringAttribute:(NSDictionary NSString *, id *)attribute; @end
// // NSString+LabelWidthAndHeight.m // ZiPeiYi // Created by YouXianMing on 15/12/9. // Copyright © 2015年 YouXianMing. All rights reserved. #import "NSString+LabelWidthAndHeight.h" @implementation NSString (LabelWidthAndHeight) - (CGFloat)heightWithStringAttribute:(NSDictionary NSString *, id *)attribute fixedWidth:(CGFloat)width { NSParameterAssert(attribute); CGFloat height = 0; if (self.length) { CGRect rect = [self boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingTruncatesLastVisibleLine |NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attribute context:nil]; height = rect.size.height; return height; - (CGFloat)widthWithStringAttribute:(NSDictionary NSString *, id *)attribute { NSParameterAssert(attribute); CGFloat width = 0; if (self.length) { CGRect rect = [self boundingRectWithSize:CGSizeMake(MAXFLOAT, 0) options:NSStringDrawingTruncatesLastVisibleLine |NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attribute context:nil]; width = rect.size.width; return width; + (CGFloat)aLineOfTextHeightWithStringAttribute:(NSDictionary NSString *, id *)attribute { CGFloat height = 0; CGRect rect = [@"One" boundingRectWithSize:CGSizeMake(200, MAXFLOAT) options:NSStringDrawingTruncatesLastVisibleLine |NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attribute context:nil]; height = rect.size.height; return height; @end
细节
相关文章
- 精简计算UITableView文本高度
- 【华为云技术分享】计算python程序执行时间
- JS - n次方计算
- BigDecimal 小数 浮点数 精度 财务计算
- Python实现的计算马氏距离算法示例
- 用Python改编 “160字符C程序计算Pi前800位”
- Atitit nlp 文本相似性计算 目录 1. 原理编1 1.1. 4.1基于拼音相似度的汉语模糊搜索算法2 1.2. (1)最长公共子串(基于词条空间)2 1.3. 2 1.4. (2
- ZZNUOJ_C语言1084:计算两点间的距离(多实例测试)(完整代码)
- ML之FE:IV信息量(Information Value)指标(衡量变量的预测能力)的简介、计算逻辑、使用方法之详细攻略
- 【DL】第3章 使用词嵌入计算文本相似度
- SQL VQ12 计算单次平均刷题数
- Python编程:使用gensim对中文文本进行相似度计算
- POJ 2405 Beavergnaw (计算几何-简单的问题)
- [译]为任意网格计算tangent空间的基向量