我想问一下,有什么方法可以通过单个代码更改标签的所有字体和大小吗? 就像应用程序中的动态类型一样。 例如:Android 已支持 XML 文件 (dimens(
谢谢!
有几种方法可以实现这一点
- 您可以执行以下操作来为所有
UILabel
提供相同的样式:
extension UILabel {
@nonobjc
convenience init() {
self.init(frame: .zero)
self.font = UIFont.systemFont(ofSize: 12, weight: UIFontWeightThin)
//... here goes other changes
}
}
您每次都需要使用方便的初始化。
- 另一种选择是创建一些自定义
UILabel
:
class CustomLabel: UILabel {
override init(frame: CGRect) {
super.init(frame: frame)
self.font = UIFont.systemFont(ofSize: 12, weight: UIFontWeightThin)
//... here goes other changes
}
required init?(coder: NSCoder) {
super.init(coder: coder)
self.font = UIFont.systemFont(ofSize: 12, weight: UIFontWeightThin)
//... here goes other changes
}
}
- 最后一个选项相对复杂,需要您创建自定义的方式来处理
UILabel
的不同样式。