自動調整大小標籤以適合文字

此示例顯示了文字內容更改時標籤的寬度如何自動調整大小。

http://i.stack.imgur.com/hOUX0.gif

固定左邊和上邊

只需使用自動佈局新增約束來固定標籤的左側和頂側。

StackOverflow 文件

之後它會自動調整大小。

筆記

  • 此示例來自此 Stack Overflow 答案

  • 不要為寬度和高度新增約束。標籤具有基於其文字內容的內在大小。

  • 使用自動佈局時無需設定 sizeToFit。示例專案的完整程式碼如下:

      import UIKit
      class ViewController: UIViewController {
    
          @IBOutlet weak var myLabel: UILabel!
    
          @IBAction func changeTextButtonTapped(sender: UIButton) {
              myLabel.text = "my name is really long i want it to fit in this box"
          }
      }
    
  • 此方法還可用於在此示例中水平正確地間隔多個標籤。

http://i.stack.imgur.com/V2Ok9.gif

  • 如果你希望標籤換行,則在 IB 中將行數設定為 0,並在程式碼中新增 myLabel.preferredMaxLayoutWidth = 150 // or whatever。 (該按鈕也固定在標籤的底部,以便在標籤高度增加時向下移動。)

StackOverflow 文件