我有一些标签,我希望将它们的高度调整为文本的高度,这是我现在编写的代码
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
中可能不可用,但在NSString
上是可用的。你仍然可以在NSString
上调用它。 - Anorak