我的应用程序中的蒙特塞拉特字体很少,需要添加斜体版本的字体,我将它们添加到了项目,目标,info.plist以及需要的任何地方。
当我要打印字体名称时,我只会看到以前使用的字体
- 0 : "Montserrat-Regular"
- 1 : "Montserrat-Medium"
- 2 : "Montserrat-Light"
- 3 : "Montserrat-SemiBold"
奇怪的是,这是当我在IB中将斜体字体设置为任何标签,然后在代码中显示的情况
- 0 : "Montserrat-Regular"
- 1 : "Montserrat-Medium"
- 2 : "Montserrat-Light"
- 3 : "Montserrat-SemiBold"
- 4 : "Montserrat-LightItalic"
- 5 : "Montserrat-Italic"
如果我在IB UIFont(名称:“ Montserrat-LightItalic”,大小:大小)中具有这些字体,则可以使用,但是如果我从IB中删除它,则找不到该字体。
我使用.otf字体,尝试了.ttf,结果相同。我试图清理项目,重新启动Xcode,从手机中删除了应用程序等。我在iOS 12上进行了测试,Xcode为10.1。还尝试在模拟器iPhone X和iPhone SE(10.2)上进行测试。
任何人都有类似的问题,或者知道为什么会这样。
答案 0 :(得分:1)
已解决。在Info.plist文件中添加字体时,仅将其添加到一个目标,而不是全部。因此,只需点击目标,进入信息并在其中添加字体。
答案 1 :(得分:0)
不能完全确定为什么它不起作用。可能的最佳猜测是,您可能已对其进行了命名或引用,而代码中的名称实际上并不是名称。您可以
UIFont.familyNames.forEach({ familyName in
let fontNames = UIFont.fontNames(forFamilyName: familyName)
print(familyName, fontNames)
})
打印所有字体,并查看其是否显示在代码中。如果在IB中,则应以编程方式使用。我会运行它,看看是否出现您的字体。