J'ai quelques étiquettes dont je veux ajuster leur hauteur au texte, c'est le code que j'ai écrit pour cela maintenant
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
}
ÉDITER:
Le problème n'était pas dans ce morceau de code, donc mon correctif est dans la question elle-même. Cela pourrait encore être utile pour les autres!
sizeWithFont
n'est peut-être pas disponible pour Swift String
mais il est disponible sur NSString
Vous devriez toujours pouvoir l'appeler là-dessus.