设置文本以适合 UILabel 的大小并居中 SWIFT

Setting text to fit the size of a UILabel and centre in SWIFT

我正在尝试将文本设置为适合 UILabel 的大小并居中。我正在以编程方式执行此操作。这是目前的样子:

如您所见,文本超出了屏幕范围并且也没有居中。

这是我的代码:

let questions = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ac faucibus tellus."

questionsLabel = UILabel(frame: CGRectMake(10, 10, questionsView.frame.size.width - 20, 80))
questionsLabel.text = questions
questionsLabel.font = UIFont(name: Font.FuturaMedium, size: 25)
questionsLabel.sizeToFit()
questionsLabel.numberOfLines = 0
questionsLabel.textAlignment = NSTextAlignment.Center
questionsView.addSubview(questionsLabel)

我做错了什么?

questionsLabel.sizeToFit()

使框架适合文本的大小。您正在寻找的是:

questionsLabel.adjustsFontSizeToFitWidth = true

这会更改字体大小以适应标签的宽度。 (但是,请注意,它只会缩小字体。)

questionsLabel.textAlignment = NSTextAlignment.Center

将 label.frame 中的文本居中。因此,如果您执行上述操作。并确保标签居中,并且宽度正确。您无需执行任何其他操作即可使文本居中。

Swift3:

questionsLabel.textAlignment = .center