У меня есть несколько меток, высоту которых я хочу отрегулировать в соответствии с текстом, это код, который я написал для этого сейчас
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
Вы все равно должны иметь возможность вызывать его в этом случае.