我正在更新我的应用程序中的图标。在听说苹果发布了一个名为SF Symbols
的图标字体与iOS 13后,我想知道是否只能在iOS 13中使用它们,还是可以在较早版本的iOS中使用它们。
如果我想使用它们,我是否需要为旧版本实现备用方案?
我正在更新我的应用程序中的图标。在听说苹果发布了一个名为SF Symbols
的图标字体与iOS 13后,我想知道是否只能在iOS 13中使用它们,还是可以在较早版本的iOS中使用它们。
如果我想使用它们,我是否需要为旧版本实现备用方案?
在 iOS 13 以前的版本中,无法直接使用 SFSymbols(请参考苹果的 人机界面指南 中的 SF Symbols 章节)。
但是,如果您想要使用这些图标,可以使用 SF Symbols 应用程序来导出图标的 SVG 版本。然后,使用一些图形工具将它们转换为 PNG 图标,然后导入到您的资源目录中。
您可以使用Figma打开.svg文件,然后选择Regular-M并导出为PDF或PNG。
更多详情更新:
您可以在Xcode中使用PDF矢量图像资产。这样,图标应该适合任何您想要的大小。请查看此博客:https://useyourloaf.com/blog/xcode-9-vector-images/
新版Xcode具有不同的UI,但基本相同。在资产目录中:
正在进行的解决方案
我没有找到解决方案,所以我放弃了。但实际上,我在调查中走得相当远。或许比我更幸运的人能够想出如何继续我开始的工作:
在Apple文档中,它说,为了轻松浏览所有新的iOS 13 SF符号,您可以下载SF Symbols应用程序:https://developer.apple.com/design/human-interface-guidelines/sf-symbols/overview/
安装后,您可以进入应用程序 > SF Symbols > 显示包内容
从那里,在 content > Resources
下,我们可以找到一个名为SFSymbolsFallback.ttf
的有趣文件
如果您尝试在https://fontdrop.info/上打开此文件,您会发现它包含在iOS 13中作为SF字体发布的所有字体图形,以及相关的unicodes
Bingo?不要那么快...
从那里开始,在iOS 12上的我的项目中尝试将此 .ttf 导入XCode 10.2.1时,似乎从未正确导入。在调用UIFont.familyNames
时,它无法检索到可用字体列表中。
更有趣的是,如果我尝试在Font Book应用程序中导入此字体,我会收到一个警告,说它包含重复项,与现有字体存在某种冲突
然后呢?
我猜测还有另一种字体阻止了SF Symbols在 Font Book 和 Xcode 上的安装。
其中一个解决方案可能是找到在XCode软件包中产生冲突的字体,并将其删除(这可能是导致问题的Symbols
字体或San Francisco
)。
我还尝试使用字体编辑器打开字体文件并更改其名称和家族名称,但没有成功。
如果有人想要继续调查,请留意。
希望这能对某些人有所帮助!
您可以将新的iOS 13 SF Pro Rounded字体上传到您的项目中,然后在标签中启用该字体。
打开SF Symbols,单击所需符号,按cmd+c复制,回到您的项目,单击标签并按cmd+v粘贴。运行项目,应该会出现该图标。
祝好,
1. 导入字体:
打开字体应用程序,搜索 SF Pro Rounded 字体,右键单击您想要的变体(例如 Light),然后单击“在 Finder 中显示”。将该文件(例如 SF-Pro-Rounded-Light.otf)拖到 XCode 项目中,并选中“如果需要,复制”选项。
2. 选择字体:
选择您的 UILabel 或 UIButton,将标题设置为 Attributed(这很重要),然后选择刚刚复制的字体(例如 SF Pro Rounded Light)。
3. 设置符号:
在 SF Symbols 中找到您想要的图标,选择它,按 CMD+C 复制,切换回 XCode,点击 UILabel 或 UIButton 标题的文本部分,按 CMD+V 粘贴。
非常感谢 Dave van Wijk 提供的解决方案!