How to give dynamic height to UILabel programmatically in Swift?

前端 未结 8 1659
夕颜
夕颜 2021-01-02 00:11

I have taken UIlabel which are generated dynamically using for loop, each type diff text is assign in label, I want to give UILabel size dynamically depending on text.

8条回答
  •  情话喂你
    2021-01-02 00:46

    Create Extension to calculate the height of label following method return height of the label

     import UIKit
    
    func heightForView(text:String, font:UIFont, width:CGFloat) -> CGFloat{
     let label:UILabel = UILabel(frame: CGRectMake(0, 0, width, CGFloat.greatestFiniteMagnitude))
     label.numberOfLines = 0
     label.lineBreakMode = NSLineBreakMode.byWordWrapping
     label.font = font
     label.text = text
    
     label.sizeToFit()
     return label.frame.height
    }
    
    let font = UIFont(name: "Helvetica", size: 20.0)
    var height = heightForView("This is just a load of text", font: font, width: 60)
    

提交回复
热议问题