表示する文字列にぴったり合う高さを取得する

下準備

まず、表示する文字列に合わせてラベルの高さを変えるので以下のことが前提になります。 label.numberOfLinesの設定値を0にする(ラベルの行数制限をなくす)

sizeToFitメソッドを使う

以下のようにすると、文字列の長さに応じてラベルの高さを設定することができます。
import UIKit

class FirstViewController : UIViewController {
    @IBOutlet var label : UILabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        label.backgroundColor = UIColor.orange
        label.numberOfLines = 0;
        label.text = "We can look six like stars from the first magnitude. "
        + "the first magnitude is that big star. We can hardly look six like stars. "
        + "But they look smaller than they actually is because six like stars is "
        + "far from earth. In actually, six like stars may be more than ten times "
        + "as big as the first magnitude. Many people who isn't shine like "
        + "six like stars exist in the world."
        label.lineBreakMode = NSLineBreakMode.byWordWrapping
        
        label.sizeToFit()
    }
}
実行結果

sizeThatFitsメソッドを使う

これはあらかじめ指定したサイズを元にサイズの変更(今回の場合は高さの設定)するのに使えます。 sizeThatFitsメソッドは、サイズの最大値に収まる範囲で、文字列の長さに応じたサイズを返してくれます。
import UIKit

class FirstViewController : UIViewController {
    @IBOutlet var label : UILabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        label.backgroundColor = UIColor.orange
        label.numberOfLines = 0;
        label.text = "We can look six like stars from the first magnitude. "
        + "the first magnitude is that big star. We can hardly look six like stars. "
        + "But they look smaller than they actually is because six like stars is "
        + "far from earth. In actually, six like stars may be more than ten times "
        + "as big as the first magnitude. Many people who isn't shine like "
        + "six like stars exist in the world."
        label.lineBreakMode = NSLineBreakMode.byWordWrapping
        
        // 幅の最大値は現在の幅、高さはCGFloatの最大値(事実上の無制限)
        let maxSize : CGSize = CGSize.init(width: label.frame.size.width, height: CGFloat.greatestFiniteMagnitude)
        
        var labelFrame : CGRect = label.frame
        labelFrame.size.height = label.sizeThatFits(maxSize).height
        label.frame = labelFrame
    }
}
実行結果
二つとも同じ結果になりましたね。 うまく使い分けてください!