尺寸适合
假设你的 storyboard
上有一个 UILabel
,你在 ViewController.swift
/ ViewController.m
中创建了一个 IBOutlet
并命名为 labelOne
。
要使更改易于显示,请在 viewDidLoad
方法中更改 labelOne 的 backgroundColor
和 textColor
:
当你想根据存储在其中的内容自动调整标签大小时,使用 sizeToFit
功能。
迅速
labelOne.backgroundColor = UIColor.blueColor()
labelOne.textColor = UIColor.whiteColor()
labelOne.text = "Hello, World!"
labelOne.sizeToFit()
Swift 3
labelOne.backgroundColor = UIColor.blue
labelOne.textColor = UIColor.white
labelOne.text = "Hello, World!"
labelOne.sizeToFit()
Objective-C
labelOne.backgroundColor = [UIColor blueColor];
labelOne.textColor = [UIColor whiteColor];
labelOne.text = @"Hello, World!";
[labelOne sizeToFit];
上面代码的输出是:
正如你所看到的,没有任何变化,因为文本非常适合 labelOne。sizeToFit 仅更改标签的框架。
让我们将文本更改为稍长的文本:
labelOne.text = "Hello, World! I’m glad to be alive!"
现在,labelOne 看起来像这样:
即使调用 sizeToFit
也不会改变任何东西。这是因为默认情况下,UILabel 显示的 numberOfLines 设置为 1.让我们在故事板上将其更改为零:
这次,当我们运行应用程序时,labelOne 正确显示:
numberOfLines
属性也可以在 ViewController
文件中更改:
// Objective-C
labelOne.numberOfLines = 0;
// Swift
labelOne.numberOfLines = 0