我有一个项目使用了“自适应调整”选项,如果我对标签输出设置了等宽属性,并且在Xcode 8 Beta 3中使用didSet
,似乎可以正常工作。
@IBOutlet weak var textLabel: UILabel! {
didSet {
textLabel = UIFont.monospacedDigitSystemFont(ofSize: textLabel!.pointSize, weight: UIFontWeightRegular)
}
}
font
属性设置为等宽数字字体,并使用attributedText
设置文本。这在iOS 9中有效,但在iOS 10中失效了。解决方法是在属性字符串中显式设置字体属性。我曾经遇到过同样的问题,使用了设置代码后问题得以解决。以下是适用于Swift 4的更新:
@IBOutlet weak var textLabel: UILabel! {
didSet {
label.font = UIFont.monospacedDigitSystemFont(ofSize: textLabel!.font!.pointSize, weight: UIFont.Weight.regular)
}
}