我想在我的iOS 8 Swift项目中使用一个图标字体(目前只有一个图标)。我首先将字体添加到我的项目中(在文件列表中添加文件到“MyProject” - 然后将其添加到我的目标)。然后,我查找了字符的代码点,它是U+E600,并在storyboard中将U+E600插入为按钮的标题。立即成功 - 现在我的storyboard上的按钮有了一个漂亮的退格图标。
但是,当我在模拟器中运行我的应用程序时,它仅显示臭名昭著的问号方框图标。
然后,我向我的视图控制器添加了以下代码,以查看字体是否“真正添加”:
毫无疑问,我的字体
我随后打开了
为了验证文件是否包含在捆绑包中,我打开了目标下Build Phases中的Copy bundle resourced,并验证了它是否在列表中。
XCode按钮的字体:
在XCode storyboard中的外观:
在模拟器中的外观:
我现在不知如何继续。有很多指南,在更新程度方面各不相同,但我真的没有看到我错过了什么。我错过了什么吗?有没有办法调试此问题?
但是,当我在模拟器中运行我的应用程序时,它仅显示臭名昭著的问号方框图标。
然后,我向我的视图控制器添加了以下代码,以查看字体是否“真正添加”:
let fontFamilyNames = UIFont.familyNames()
for familyName in fontFamilyNames {
println("Font Family Name = [\(familyName)]")
let names = UIFont.fontNamesForFamilyName(familyName as! String)
println("Font Names = [\(names)]")
}
毫无疑问,我的字体
icomoon
以同名字体系列的单一字体的形式出现。我随后打开了
Info.plist
,考虑到我可能仍需手动添加字体文件,并将icomoon.ttf
(文件名正确)添加为Fonts provided by application
中的第一项和唯一项。再次运行应用程序。仍显示问号。在我的iPhone 6上运行该应用程序时,问题依然存在。为了验证文件是否包含在捆绑包中,我打开了目标下Build Phases中的Copy bundle resourced,并验证了它是否在列表中。
XCode按钮的字体:
![enter image description here](https://istack.dev59.com/Saa4p.webp)
![enter image description here](https://istack.dev59.com/JtetL.webp)
![enter image description here](https://istack.dev59.com/urXEY.webp)
viewDidLoad
中添加self.bsButton.titleLabel?.font = UIFont(name: "icomoon", size: 65)
并不能解决问题,但如果之后调用相同的代码(通过在按钮的回调函数中实现测试),它就起作用了(!)。嗯… - beta