我目前正在尝试向项目中添加自定义字体,但是我不知怎么工作。
我已经将.otf文件添加到字体文件夹中,检查它是否以我的项目为目标,并将Fonts provided by application
添加到Info.plist中。
struct ContentView: View {
var body: some View {
Text("CLOSEST")
.foregroundColor(Color("primary"))
.font(Font.custom("HelveticaNowDisplayBold", size: 60))
}
}
答案 0 :(得分:3)
对于那些不再有应用程序/场景委托的人来说。在你的
init() {
for family in UIFont.familyNames.sorted() {
let names = UIFont.fontNames(forFamilyName: family)
print("Family: \(family) Font names: \(names)")
}
}
会起作用
答案 1 :(得分:1)
如果您确保Info.plist
使用的文件名正确
,并且该字体在应用程序的目标中可用。
您还需要确保您使用正确的名称访问字体。
检查字体名称的一种简便方法是在didFinishLaunchingWithOptions
之前的return true
中将以下内容添加到AppDelegate中。
for family in UIFont.familyNames.sorted() {
let names = UIFont.fontNames(forFamilyName: family)
print("Family: \(family) Font names: \(names)")
}
这将按族和名称列出所有字体。
当我对字体进行处理时(我已经添加了与您相同的字体),我在控制台中的可用字体列表中找到了以下内容(请参见上面的屏幕截图):
Family: Helvetica Now Display Font names: ["HelveticaNowDisplay-Bold"]
您的字体可能要使用其他名称。
以下测试代码产生:
struct ContentView: View {
var body: some View {
Text("Hello")
.foregroundColor(.blue)
.font(Font.custom("HelveticaNowDisplay-Bold", size: 60))
}
}
有关添加自定义字体的更多信息,请参阅Apple的documentation。
答案 2 :(得分:1)
我遇到了同样的问题,
当我省略“ -Regular”时它对我有用, 但是我在info.plist中用它写的。
答案 3 :(得分:1)
您需要包含字体的扩展名(例如 .ttf)。我在 youtube 上看到了一些教程,其中没有包含它,但对我来说,没有它就行不通。
答案 4 :(得分:0)
我有完全相同的问题。以下步骤为我修复了该问题。我目前正在使用Xcode 11.4.1
使用以下方法检查已安装的字体:
for family in UIFont.familyNames.sorted() {
let names = UIFont.fontNames(forFamilyName: family)
print("Family: \(family) Font names: \(names)")
}
如果它出现了,您还可以以编程方式使用它