我遇到了一个问题,我需要将textField文本高度的相同距离垂直翻译为标签。在大多数情况下,只是textField.bounds.heigt
,但如果textField的高度大于文本高度,对我来说不会有任何好处。所以我需要知道: 如何从UIFont
中计算字符串文本的行高?Swift如何从其字体中计算一行文本高度
关于重复: 有什么我需要的有点不同。那个答案(我在我的答案中提到)得到的总高度取决于1)字符串2)宽度3)字体。我需要的是单线高度仅仅依靠字体。
我遇到了一个问题,我需要将textField文本高度的相同距离垂直翻译为标签。在大多数情况下,只是textField.bounds.heigt
,但如果textField的高度大于文本高度,对我来说不会有任何好处。所以我需要知道: 如何从UIFont
中计算字符串文本的行高?Swift如何从其字体中计算一行文本高度
关于重复: 有什么我需要的有点不同。那个答案(我在我的答案中提到)得到的总高度取决于1)字符串2)宽度3)字体。我需要的是单线高度仅仅依靠字体。
UIFont有propperty lineHeight是 水木清华这样
if let font = _textView.font {
let height = font.lineHeight
}
其中的字体是你的字体
我一直在寻找一种方法来做到这一点,并找到这个answer它有一个String
扩展名来计算字符串和给定字体的大小。我已经修改了它做我想做的(得到的文本行高度使用的字体写):
extension UIFont {
var height:CGFloat {
let constraintRect = CGSize(width: CGFloat.max, height: CGFloat.max)
let boundingBox = "Anytext".boundingRectWithSize(constraintRect, options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: [NSFontAttributeName: self], context: nil)
return boundingBox.height
}
}
我希望这可以帮助别人寻找它。 (可能是我自己未来的)。
[斯威夫特基于字符串的UILabel的找出尺寸(HTTP的可能重复://计算器。 com/questions/30450434 /基于uilabel的数字大小的字符串) – TylerH
这与我所需要的有点不同。那个答案(我在我的答案中提到)得到的总高度取决于1)字符串2)宽度3)字体。我需要的是**一行高度只能在字体** – Ismail