FontAwesome 图标显示为问号
Posted
技术标签:
【中文标题】FontAwesome 图标显示为问号【英文标题】:FontAwesome icon displayed as question mark 【发布时间】:2018-07-26 11:48:22 【问题描述】:我正在尝试为以下内容设置按钮文本:
我遵循的第一步是在项目中包含字体文件。然后我在 Info.plist 中引用了它。 我从cheatsheet 复制了图标:
然后我在 IB 中设置按钮的字体如下:
结果,我在按钮上得到一个问号(在 IB 和运行中)。
只是为了交叉检查,我设置了一些其他图标而不是这个。效果很好。
错在哪里?
【问题讨论】:
尝试在代码中而不是在 IB 属性检查器中设置按钮标题? @matt:谢谢。我尝试了this 的方式,但仍然得到问号。 @matt :我尝试用信封图标替换它,就像在 IB 中所做的那样。它工作得很好。图标代码可能有什么问题吗? 当然有可能。 @matt : 我希望有办法举报。 【参考方案1】:您使用了错误的字体。你想要的是 FontAwesome5FreeSolid (fa-solid-900.ttf
)。
这在我的机器上运行良好:
let s = "\uf362 Convert"
let ss = NSAttributedString(string: s, attributes:
[.font : UIFont(name:"FontAwesome5FreeSolid", size:17)!])
let b = UIButton(type: .system)
b.frame = CGRect(x: 40, y: 40, width: 200, height: 200)
b.setAttributedTitle(ss, for: .normal)
self.view.addSubview(b)
结果:
【讨论】:
还要确保 info.plist 中的字体文件名相同。【参考方案2】:在 IB 中只设置字体名称和大小,在代码中使用类似这样的东西
self.backBu.setTitle(String(format:"%C",0xf053), for: .normal);
用你想要的 unicode 替换 f053
,还要确保检查目标 memberShip 的字体资源并将其添加到 info.plist
【讨论】:
我试过 self.buttonConvert.setTitle(String(format:"%C Convert","f362"), for: .normal) 结果:一些不同的图标。 检查会员并添加到信息列表中 首先,它就在那里。其次,如果不是这样,其他图标就不会起作用。 恐怕,我得到了相同的输出。 “?转换”以上是关于FontAwesome 图标显示为问号的主要内容,如果未能解决你的问题,请参考以下文章