在用textfontUILabel进行初始化后,如何找到UILabelactual行数?我已经将它的numberOfLines属性设置为0,因此它将扩展到需要多少行.但是,我怎么才能知道我把它设置到text之后,它最后得到了多少行呢?

我找到了类似的问题,但似乎没有一个能提供简明的答案,在我看来,要得到这个问题一定很容易,而不需要花费任何时间go 折腾boundingRectWithSizesizeWithFont,…….

推荐答案

首先在UILabel中设置文本

First Option :

首先根据字体计算文本高度:

NSInteger lineCount = 0;
CGSize labelSize = (CGSize){yourLabel.frame.size.width, MAXFLOAT};
CGRect requiredSize = [self boundingRectWithSize:labelSize  options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName: yourLabel.font} context:nil];

现在计算行数:

int charSize = lroundf(yourLabel.font.lineHeight);
int rHeight = lroundf(requiredSize.height);
lineCount = rHeight/charSize;
NSLog(@"No of lines: %i",lineCount);

Second Option :

 NSInteger lineCount = 0;
 CGSize textSize = CGSizeMake(yourLabel.frame.size.width, MAXFLOAT);
 int rHeight = lroundf([yourLabel sizeThatFits:textSize].height);
 int charSize = lroundf(yourLabel.font.lineHeight);
 lineCount = rHeight/charSize;
 NSLog(@"No of lines: %i",lineCount);

Ios相关问答推荐

将图案UI视图动画化以模拟进度条

SwiftUI.从自定义视图修改器访问自定义视图子视图

避免从CoreData加载图像列表时出现SwiftUI挂起

ios PWA从外部链接返回后降低了innerheight

如何在iOS 17 SwiftUI中获取用户名

Flutter 应用程序中带有Firebase的GoogleService-Info.plist中缺少CLIENT_ID、REVERSED_CLIENT_ID和ANDROID_CLIENT-ID

Swift UI中如何为Text提供内部填充

使用 AVCaptureDeviceTypeBuiltInTripleCamera 时 Select 合适的相机进行条码扫描

发生异常:需要 issuerId

Apollo iOS 客户端代码生成:错误:无法查询字段

工具栏底部 iOS 16 - SwiftUI

SwiftUI:添加核心数据项时更新选项卡栏徽章

Swift如何表示单位转换的标准大气压

如何在保持纵横比的同时zoom UIView 的内容以适应目标矩形?

在 Swift 中为 UITextField/UIView 摇动动画

在 Swift 中追加字符串

UIView 和 initWithFrame 以及一个 NIB 文件.如何加载 NIB 文件?

所有小部件的Flutter 填充?

使用 Chrome DevTools 调试 iOS 6+7 Mobile Safari

如果已安装,则重定向到应用程序,否则重定向到 App Store