ios - UILabel 行数计算返回一个额外的行
问题描述
我正在使用下面的 UILabel 扩展属性。UILabel 换行模式为 Truncate Tail。它总是返回比实际行数多一行。关于这个问题的任何想法。
var maxNumberOfLines: Int {
guard let text = text, let font = font else {
return 0
}
layoutIfNeeded()
let charSize = font.lineHeight
let textSize = (text as NSString).boundingRect(
with: CGSize(width: bounds.width, height: .greatestFiniteMagnitude),
options: .usesLineFragmentOrigin,
attributes: [.font: font],
context: nil)
let linesRoundedUp = Int(ceil(textSize.height/charSize))
return linesRoundedUp
}
解决方案
在我的标签中字符串的末尾有一个换行符,这有助于增加额外的行。在分配给 UILabel 之前删除它修复了这个问题。
推荐阅读
- python - 如何以最佳方式在 PySpark 中以两个条件连接两个表
- c# - c# excel将多色文本写入同一个单元格
- mysql - 在 MySQL 中优化和分区具有 3 亿条记录的大表的最佳方法
- java - JAVA:我需要按降序对数组中的系列进行排序
- android - android 应用程序中使用的 AWS Appsync 突变功能无法将数据插入 DynamoDB
- sas - SAS 不评估 %PUT 的内容
- python - 使用 python 在 Visual Studio 代码中开发应用程序
- react-native - 如何在 Scrollview (React Native) 中禁用反弹效果?
- reactjs - Setting variable with ReactJS's useState hook does not work
- google-analytics - 每个会话跟踪多个目标以获取唯一 URL?