iOS 适合的尺寸

示例

假设您有一个UILabel,storyboard并且您已经IBOutlet在ViewController.swift/中为其创建了一个,并将其ViewController.m命名为labelOne。

为了使更改容易可见,请在方法中更改labelOne的  backgroundColor和:textColorviewDidLoad

sizeToFit当您要根据标签中存储的内容自动调整标签大小时,可以使用该功能。

迅速

labelOne.backgroundColor = UIColor.blueColor()
labelOne.textColor = UIColor.whiteColor()
labelOne.text = "Hello, World!"
labelOne.sizeToFit()

迅捷3

labelOne.backgroundColor = UIColor.blue
labelOne.textColor = UIColor.white
labelOne.text = "Hello, World!"
labelOne.sizeToFit()

目标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文件中更改:

// 目标C
labelOne.numberOfLines = 0; 

// 迅速
labelOne.numberOfLines = 0