我对如何在iOS项目中的文本中使用SF符号感到困惑。我有一个使用符号的UIButton,使用UIImage systemImageNamed:
就可以了。我想显示有关该按钮的消息,并在另一视图中显示一些文本。我以为我应该能够使用对该符号的Unicode引用,但它不会呈现。我的理解是这些符号位于“专用区”中,但是我无法使用@"Press the \U0010057C button."
我尝试将SFSymbolsFallback.ttf字体文件导入到我的项目中。
我希望看到该符号已渲染,但是得到一个?代替。
答案 0 :(得分:4)
这对我有用:
let imageAttachment = NSTextAttachment()
imageAttachment.image = UIImage(systemName: "checkmark.circle")
let fullString = NSMutableAttributedString(string: "Press the ")
fullString.append(NSAttributedString(attachment: imageAttachment))
fullString.append(NSAttributedString(string: " button"))
label.attributedText = fullString
结果:
答案 1 :(得分:0)
我一直在为如何使用CoreText渲染API使用SF Symbol字形而遇到同样的问题。在MacOS上,“ SF Pro Text”字体中包含7500多个字形,其中包括SF Symbol字形。在iOS上,系统字体仅具有〜2800个字形,并且似乎不包括新的SF Symbol字形。除了在项目本身中包含字体外(我认为这违反了Apple的许可),我还没有找到一种使用它们的Unicode字符值呈现这些字形的方法。