我正在使用通用的屏幕和功能来创建自己的框架。我坚持要实现以下目标:
UILabel
和UITextField
。UILabel
和UITextField
。示例:如果我在自己的计算机上使用“ Kingthings_Trypewriter_2.ttf” 应用程序,然后通过编写此行应更改所有字体
UILabels
和UITextFields
。
UILabel.appearance().font = UIFont(name: "Kingthings_Trypewriter_2", size: 20)
UITextView.appearance().font = UIFont(name: "Kingthings_Trypewriter_2", size: 20)
任何帮助将不胜感激。
答案 0 :(得分: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)
}
在项目中的任何位置使用label或textfield的实例。
@IBOutlet weak var label : FrameWorkLabel!
//or
let label1 = FrameWorkLabel()
@IBOutlet weak var textField : FrameWorkTextField!
let textField1 = FrameWorkTextField()
答案 1 :(得分:0)
将代码放入AppDelegate didFinishLaunchingWithOptions方法中,它将起作用
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UITextView.appearance().font = UIFont(name: "Kingthings_Trypewriter_2", size: 50)
}