我正在尝试在SwiftUI应用中设置自定义默认字体。我尝试了来自该线程Set a default font for whole iOS app?的一些建议。
但是,这些似乎都无法与SwiftUI一起使用。例如,采用这种方法:
// Constants.swift
struct Fonts {
static var plex = "IBMPlexMono-Text"
}
// FontExtension.swift
extension UILabel {
var substituteFontName : String {
get { return self.font.fontName }
set { self.font = UIFont(name: Fonts.plex, size: 17)! }
}
}
// AppDelegate.swift in didFinishLaunchingWithOptions-function
UILabel.appearance().substituteFontName = Fonts.plex
启动应用程序时,自定义字体会显示一秒钟,然后由Apple更改回默认字体。为什么将其改回Apple的字体,以及如何永久完成呢?
在Text
-View上进行扩展可能吗?
答案 0 :(得分:0)
您可以使用这样的自定义字体:
Font.custom("Font-Family-Name", size: fontSize)
示例:
Text("Testing")
.font(Font.custom("Font-Family-Name", size: 16))
要在应用程序中的任何位置使用字体,请创建如下结构。确保在将包含字体结构的文件中导入 SwiftUI:
导入 SwiftUI
struct AppFont {
static func commonFont(fontSize: CGFloat) -> Font {
return Font.custom("Font-Family-Name", size: fontSize)
}
}
现在您可以像这样在应用中的任何地方使用它们:
Text("Testing")
.font(AppFont.commonFont(fontSize: 16))