美好的一天,希望你一切都好。
这似乎是一个重复的问题,但对我没有任何帮助。
我查看了这个问题的多个实例,并且尝试了许多不同的方法,但它并没有解决我的问题。
我有一个文本视图,它被限制为 11 行,然后变得可滚动.....我想获取文本内容的总行数,而不是屏幕上的显示大小所有解决方案只为我提供 11 行,但真正的行数为 +- 30 行。即使我显示 5 行文本,它也会返回 11
我怎样才能集体找出所有文本的行数。
任何帮助将非常感激
美好的一天,希望你一切都好。
这似乎是一个重复的问题,但对我没有任何帮助。
我查看了这个问题的多个实例,并且尝试了许多不同的方法,但它并没有解决我的问题。
我有一个文本视图,它被限制为 11 行,然后变得可滚动.....我想获取文本内容的总行数,而不是屏幕上的显示大小所有解决方案只为我提供 11 行,但真正的行数为 +- 30 行。即使我显示 5 行文本,它也会返回 11
我怎样才能集体找出所有文本的行数。
任何帮助将非常感激
使用此扩展程序来解决您的问题!
extension String {
func lines(font : UIFont, width : CGFloat) -> Int {
let constraintRect = CGSize(width: width, height: .greatestFiniteMagnitude);
let boundingBox = self.boundingRect(with: constraintRect, options: .usesLineFragmentOrigin, attributes: [NSFontAttributeName: font], context: nil);
return Int(boundingBox.height/font.lineHeight);
}
}
这是我在做什么
extension String {
func lines() -> CGFloat {
let font = //your font
let width = //constrained width to which text can expand
let constraintRect = CGSize(width: width, height: .greatestFiniteMagnitude)
let boundingBox = self.boundingRect(with: constraintRect, options: .usesLineFragmentOrigin, attributes: [NSFontAttributeName: font], context: nil)
return boundingBox.height/font.lineHeight
}
}
这将为您提供实际上是字符串占用的行数。
希望能帮助到你!!