自动调整大小标签以适合文本
此示例显示了文本内容更改时标签的宽度如何自动调整大小。
http://i.stack.imgur.com/hOUX0.gif
固定左边和上边
只需使用自动布局添加约束来固定标签的左侧和顶侧。
之后它会自动调整大小。
笔记
-
此示例来自此 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
。 (该按钮也固定在标签的底部,以便在标签高度增加时向下移动。)