我正在更新我的应用程序中的图标。在我听说 Apple 发布了一种以 iOS 13 命名的图标字体后SF Symbols
,我想知道我是否只能在 iOS 13 中使用它们,或者是否也可以在较低版本的 iOS 中使用它们。
如果我想使用它们,我是否必须为旧版本实现回退?
我正在更新我的应用程序中的图标。在我听说 Apple 发布了一种以 iOS 13 命名的图标字体后SF Symbols
,我想知道我是否只能在 iOS 13 中使用它们,或者是否也可以在较低版本的 iOS 中使用它们。
如果我想使用它们,我是否必须为旧版本实现回退?
您不能在 iOS 13 之前的 iOS 版本中原生使用 SFSymbols(请参阅 Apple 的SF Symbols人机界面指南)。
但是,如果您对使用图形感兴趣,可以使用SFSymbols 应用程序导出图标的 SVG 版本。然后使用一些图形工具将它们转换为可以导入资产目录的 PNG 图标。
您可以使用 Figma 打开 .svg。然后选择Regular-M并导出为PDF或PNG。
更新更多细节:
您可以在 Xcode 中使用 PDF 矢量资源。这样图标应该适合您想要的任何大小。请查看此博客:https ://useyourloaf.com/blog/xcode-9-vector-images/
新的 Xcode 有不同的 UI,但基本相同。在资产目录中:
工作正在进行中
我没有设法找到解决方案,我放弃了,但实际上我在调查中走得很远。也许比我幸运的人能够找出 hpw 来继续我开始的工作:
在 Apple 文档中,据说为了轻松浏览所有新的 iOS 13 SF Symbols,您可以下载 SF Symbols 应用程序:https ://developer.apple.com/design/human-interface-guidelines/sf-符号/概述/
安装好后就可以进去了Application > SF Symbols > showPackage content
从那里,content > Resources
我们可以找到一个有趣的文件,名为SFSymbolsFallback.ttf
如果您尝试在https://fontdrop.info/上打开此文件,您会看到它包含在 iOS 13 中作为 SF Font 发布的所有字体字形,以及相关的 unicode
答对了?没那么快……
从那里我尝试在 XCode 10.2.1 上的 iOS 12 中将此 .ttf 导入我的项目,但似乎它从未正确导入。调用时无法在可用字体列表中检索UIFont.familyNames
更有趣的是,如果我尝试在Font Book应用程序中导入此字体,我会收到一条警告,指出它包含重复,与现有字体存在某种冲突
从那里?
我的猜测是,在 Font Book 和 Xcode 中还有另一种字体会阻止安装 SF Symbols。
解决方案之一可能是找到 XCode 包中存在冲突的那个并将其删除(这可能是Symbols
字体或San Francisco
导致问题 idk)
我还尝试使用字体编辑器打开字体文件并更改其名称和家族名称,但没有成功。
如果有人想继续调查..
希望这可以帮助某人!
此图标集基于 SF Symbols https://framework7.io/icons/
您可以将新的 ios 13 sf-pro-rounded 字体上传到您的项目。然后在标签中启用该字体。
打开sf符号,点击你想要的smbol,cmd+c,进入你的项目,点击一个标签cmd+v。运行项目,应该会有图标
干杯,
SF Symbols 是仅在 iOS 13 或更高版本上支持的系统 - 无法在 iOS 12 或更低版本上使用它们。您需要为那些较旧的操作系统使用回退。
请参阅人机界面指南
1.导入字体:
打开字体应用程序,搜索 SF Pro Rounded 字体,右键单击所需的变体(例如 Light),然后单击在 Finder 中显示。将该文件(例如 SF-Pro-Rounded-Light.otf)拖到您的 XCode 项目中并勾选“如有必要复制”。
2. 选择字体:
选择您的 UILabel 或 UIButton,将 Title 设置为 Attributed(这很重要)并选择您刚刚复制的字体(例如 SF Pro Rounded Light)。
3.设置符号:
在 SF Symbols 中找到你想要的图标,选中它,按 CMD+C 复制,切换回 XCode 并单击 UILabel 或 UIButton Title 的文本部分,然后按 CMD+V 粘贴。
非常感谢 Dave van Wijk 的解决方案!
在 SF Symbols 3.1 中,Edit > Copy Image as... 您可以选择 PNG/point size/pixel scale 并粘贴到 Preview 等。