我有一些标签要根据文本调整高度,这是我现在为此编写的代码
func heightForView(text:String, font:UIFont, width:CGFloat) -> CGFloat{
let label:UILabel = UILabel(frame: CGRectMake(0, 0, width, CGFloat.max))
label.numberOfLines = 0
label.lineBreakMode = NSLineBreakMode.ByWordWrapping
label.font = font
label.text = text
label.sizeToFit()
return label.frame.height
}
编辑:
问题不在这段代码中,所以我的解决方法是问题本身。它可能对其他人仍然有用!
sizeWithFont
可能不适用于Swift,String
但是它可以在Swift 上使用。NSString
您仍然应该能够在其上调用它。