ฉันมีป้ายกำกับบางป้ายที่ฉันต้องการปรับความสูงให้เป็นข้อความนี่คือรหัสที่ฉันเขียนไว้ตอนนี้
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
คุณควรจะยังสามารถเรียกใช้งานได้