我目前正尝试新增自订字型到我的项目,但不知为何无法运作。
我已经将.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))
}
}
8条答案
按热度按时间ukqbszuj1#
如果您已确定
Info.plist
使用正确的文件名:请注意,如果您使用的是Xcode 13,您可能没有预期的
Info.plist
。此SO answer说明了您可以在哪里找到它。字体在应用程序的目标中可用。
您还需要确保使用正确的名称访问字体。
检查字体名称的一个简单方法是将以下内容添加到
return true
之前的didFinishLaunchingWithOptions
中的AppDelegate中。或者,如果您正在使用新的SwiftUI生命周期,则可以将其添加到.onAppear
中。这将按系列和名称列出所有字体。
只要记住删除它,一旦你已经完成使用,因为你不需要不必要的打印到控制台。
当我为我的字体做这件事时(我已经添加了和你一样的字体),我在控制台的可用字体列表中发现了以下内容(见上面的屏幕截图):
您的字体可能有一个不同的名称,需要注意的是,字体名称可能与文件名不同。这是很多人遇到的问题,因为他们在需要使用字体名称时尝试使用文件名。
以下测试代码将生成:
有关添加自定字体的更多信息,请参阅Apple的documentation。
SwiftUI中的动态类型
如果您使用的是自订字型,则应考虑将其设定为随动态文字缩放。
第14版iOS操作系统
iOS 14引入了一个新的修饰符,可让您相对于“动态字体类型”缩放字体。
第13版iOS操作系统
如果你使用的是iOS 13,那就需要多花一点力气才能达到同样的效果。
首先需要创建一个ViewModifier,这个视图修改器监听环境中的大小类别(它实际上并不使用它,但是在这里有它可以确保每当大小类别更新时视图修改器也会更新)。
然后以下列方式使用:
对于一个真正好的写了看看这个职位上的Hacking With Swift。
qv7cva1a2#
对于那些不再有应用程序/场景代理的人来说,可以将此放在您的<Your_App_Name>App.swift文件中
会起作用
z9zf31ra3#
你需要在info.plist中包含字体的扩展名(例如.ttf)。我在youtube上看到了一些教程,其中没有包含它,但对我来说,没有它就不行。
mec1mxoz4#
我也有同样的问题,
当我省略了“-Regular”时,它对我很有效,但是在info.plist中我用它写了它。
thtygnil5#
我也遇到了同样的问题。下面的步骤为我解决了这个问题。我目前使用的是Xcode 11.4.1
1.创建故事板,添加标签,并在检查器中选择您的字体作为标签的字体。
1.在模拟器中构建您的应用
1.检查已安装的字体:
1.如果它出现了,您也可以通过编程方式使用它
这里也列出了Common mistakes with adding custom fonts
ars1skjm6#
我做了安德鲁斯回答中提到的一切,但仍然没有工作。原来我忘记了实际安装字体在我的mac上双击.tff文件下载后。
q1qsirdb7#
有时字体文件名和字体实际名称不同。
在我的例子中,我的文件名是SCRIPTIN.ttf,但实际的字体名称是Scriptina。
我通过在App.swift文件中运行以下函数发现了这一点。
只需将此文件放在App.swift文件中的此函数之后,然后运行该应用程序。您将得到一个包含所有已加载文件及其名称(包括新添加的字体)的列表。
vyswwuz28#
Xcode 13按目标,然后信息,类型字体提供的应用程序和添加项目字体名称一样的图像