我们可以通过单个代码/文件更改所有标签的字体、大小吗?



我想问一下,有什么方法可以通过单个代码更改标签的所有字体和大小吗? 就像应用程序中的动态类型一样。 例如:Android 已支持 XML 文件 (dimens(

谢谢!

有几种方法可以实现这一点

  1. 您可以执行以下操作来为所有UILabel提供相同的样式:
extension UILabel {
@nonobjc
convenience init() {
self.init(frame: .zero)
self.font = UIFont.systemFont(ofSize: 12, weight: UIFontWeightThin)
//... here goes other changes
}
}

您每次都需要使用方便的初始化。

  1. 另一种选择是创建一些自定义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
}
}
  1. 最后一个选项相对复杂,需要您创建自定义的方式来处理UILabel的不同样式。

最新更新