Ho alcune etichette di cui voglio adattare l'altezza al testo, questo è il codice che ho scritto per questo ora
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
}
MODIFICARE:
Il problema non era in questo pezzo di codice, quindi la mia soluzione è nella domanda stessa. Potrebbe ancora essere utile per gli altri!
sizeWithFont
potrebbe non essere disponibile per Swift String
ma è disponibile su NSString
Dovresti comunque essere in grado di richiamarlo.