场景:我只希望能够在每个目标设备的UILabel中放入一个字符串。也就是说,在一个iPad型号上,字符串被截断了。另一方面,事实并非如此。我怀疑该应用程序比IB更以代码为中心。因此,我希望能够以编程方式使用UILabel。
这是代码:
class ViewController: UIViewController {
@IBOutlet var myLabel: UILabel!
@IBAction func addMessageAction(_ sender: UIBarButtonItem) {
let msg = "Mother had a feeling, I might be too appealing. But I can understand."
myLabel.text = msg
myLabel.numberOfLines = 0
myLabel.adjustsFontForContentSizeCategory = true
myLabel.sizeToFit()
myLabel.lineBreakMode = .byTruncatingTail
myLabel.minimumScaleFactor = 0.5
}
@IBAction func exitAction(_ sender: UIBarButtonItem) {
exit(0)
}
}
这似乎只能与我在IB中设置UILabel属性一起使用。
为什么它不能通过代码工作?
我尝试了您的代码,并且代码运行正常。是否有任何自动布局约束不匹配?
您可以对此做一件事,以更改字体大小以适合标签的宽度
myLabel.adjustsFontSizeToFitWidth = true