如何使用动态大小更改 Swift 中 iOS 应用程序的字体?
How to change font for iOS app in Swift with dynamic size?
我正在尝试更改 Swift 中整个 iOS 应用程序的字体。我目前正在使用:
var size:CGFloat = 16
UILabel.appearance().font = UIFont(name: "Gudea", size: size)
将我的应用程序中的每个 UILabel
更改为正确的字体。但是,尽管在 Main.Storyboard
.
中分配了不同的大小,但所有标签都更改为大小 16
有没有办法在不更改 Main.Storyboard
中分配的大小的情况下为每个 UILabel
分配一种字体?
或者,也许,
有没有更好的方法来更改整个应用程序使用的字体?
谢谢!
我的解决方案是扩展 UIFont 并以编程方式设置我的标签。
UIFontExtension.swift:
extension UIFont {
class func myFontName() -> String { return "Gudea" }
class func myBoldFontName() -> String { return "Gudea-Bold" }
class func myNormalFont() -> UIFont {
return UIFont(name: UIFont.myFontName(), size: 12)!
}
class func mySmallBoldFont() -> UIFont {
return UIFont(name: UIFont.myBoldFontName(), size: 10)!
}
}
MyViewController.swift:
myLabel.font = UIFont.myNormalFont()
mySmallLabel.font = UIFont.mySmallBoldFont()
我正在尝试更改 Swift 中整个 iOS 应用程序的字体。我目前正在使用:
var size:CGFloat = 16
UILabel.appearance().font = UIFont(name: "Gudea", size: size)
将我的应用程序中的每个 UILabel
更改为正确的字体。但是,尽管在 Main.Storyboard
.
有没有办法在不更改 Main.Storyboard
中分配的大小的情况下为每个 UILabel
分配一种字体?
或者,也许,
有没有更好的方法来更改整个应用程序使用的字体?
谢谢!
我的解决方案是扩展 UIFont 并以编程方式设置我的标签。
UIFontExtension.swift:
extension UIFont {
class func myFontName() -> String { return "Gudea" }
class func myBoldFontName() -> String { return "Gudea-Bold" }
class func myNormalFont() -> UIFont {
return UIFont(name: UIFont.myFontName(), size: 12)!
}
class func mySmallBoldFont() -> UIFont {
return UIFont(name: UIFont.myBoldFontName(), size: 10)!
}
}
MyViewController.swift:
myLabel.font = UIFont.myNormalFont()
mySmallLabel.font = UIFont.mySmallBoldFont()