Tôi có một số nhãn mà tôi muốn điều chỉnh độ cao của chúng phù hợp với văn bản, đây là mã tôi đã viết cho điều này ngay bây giờ
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
}
BIÊN TẬP:
Vấn đề không nằm trong đoạn mã này, vì vậy cách khắc phục của tôi nằm ở chính câu hỏi. Nó vẫn có thể hữu ích cho những người khác!
sizeWithFont
có thể không khả dụng cho Swift String
nhưng nó có sẵn trên NSString
Bạn vẫn có thể gọi nó trên đó.