【问题标题】:How to apply custom font to all Labels, UITextFields and UIButtons in entire framework?如何将自定义字体应用于整个框架中的所有标签、UITextFields 和 UIButtons?
【发布时间】:2018-08-09 04:51:05
【问题描述】:

我正在创建自己的具有通用屏幕和功能的框架。我坚持实现以下目标:

  • 我在框架内有 3 个屏幕,分别有 UILabelUITextField
  • 我想将字体应用于整个应用程序使用的框架内的所有UILabelUITextField

示例:如果我在我的 应用程序然后通过编写这一行应该改变所有的字体 分别为UILabelsUITextFields

UILabel.appearance().font = UIFont(name: "Kingthings_Trypewriter_2", size: 20)
UITextView.appearance().font = UIFont(name: "Kingthings_Trypewriter_2", size: 20)
  • 不过,通过使用上述代码,它适用于应用程序的标签和 UITextFields,但不适用于 Frameworks 的标签和 UITextFields。

我们将不胜感激。

【问题讨论】:

  • 这个字体“Kingthings_Trypewriter_2”在你的框架中可用吗?您是否尝试过任何内部可用的自定义字体?我认为您尝试分配的字体未找到。
  • 是的,我试图应用内部可用的字体,如果我使用这个:“label.font=”那么它可以工作,但是通过使用这个:“UILabel.appearance().font="不工作。
  • 'appearance()' 方法的作用是什么?

标签: ios swift user-interface fonts ios-frameworks


【解决方案1】:

声明一个特定的类并将该自定义标签或文本视图用于整个框架。

  class FrameWorkLabel: UILabel{

var frameWorkFont: UIFont?


private func setupViews(){
    font = frameWorkFont ?? UIFont.frameWorkFont
}

override init(frame: CGRect) {
    super.init(frame: frame)
    setupViews()
}

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    setupViews()
}

 }

  class FrameWorkTextField: UITextField{

var frameWorkFont: UIFont?

private func setupViews(){
    font = frameWorkFont ?? UIFont.frameWorkFont
}

override init(frame: CGRect) {
    super.init(frame: frame)
    setupViews()
}

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    setupViews()
}
 }






extension UIFont{
static let frameWorkFont = UIFont.systemFont(ofSize: 18)
}

在项目中的任意位置使用标签或文本字段的实例。

@IBOutlet weak var label : FrameWorkLabel!
//or
let label1 = FrameWorkLabel()

@IBOutlet weak var textField : FrameWorkTextField!

let textField1 = FrameWorkTextField()

【讨论】:

  • 通过这种方式它可以工作,但我们仍然需要将自定义类类型应用于每个 UILabel 和 textFields。我们还需要将字体引入框架。
猜你喜欢
  • 2017-11-16
  • 1970-01-01
  • 2020-02-14
  • 1970-01-01
  • 2017-12-25
  • 2021-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多