63

我正在更新我的应用程序中的图标。在我听说 Apple 发布了一种以 iOS 13 命名的图标字体后SF Symbols,我想知道我是否只能在 iOS 13 中使用它们,或者是否也可以在较低版本的 iOS 中使用它们。

如果我想使用它们,我是否必须为旧版本实现回退?

4

8 回答 8

79

您不能在 iOS 13 之前的 iOS 版本中原生使用 SFSymbols(请参阅 Apple 的SF Symbols人机界面指南)。

但是,如果您对使用图形感兴趣,可以使用SFSymbols 应用程序导出图标的 SVG 版本。然后使用一些图形工具将它们转换为可以导入资产目录的 PNG 图标。

如何从 Mac 上的 SFSymbols 应用程序导出 SVG 的屏幕截图。

于 2019-06-10T12:41:46.890 回答
15

您可以使用 Figma 打开 .svg。然后选择Regular-M并导出为PDF或PNG。


更新更多细节:

您可以在 Xcode 中使用 PDF 矢量资源。这样图标应该适合您想要的任何大小。请查看此博客:https ://useyourloaf.com/blog/xcode-9-vector-images/

新的 Xcode 有不同的 UI,但基本相同。在资产目录中:

  1. 将您的 PDF 矢量文件拖入。
  2. 选中“保留矢量数据”
  3. 选择“单一比例”
于 2019-08-19T13:35:38.263 回答
8

工作正在进行中

我没有设法找到解决方案,我放弃了,但实际上我在调查中走得很远。也许比我幸运的人能够找出 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)

我还尝试使用字体编辑器打开字体文件并更改其名称和家族名称,但没有成功。

如果有人想继续调查..

希望这可以帮助某人!

于 2019-07-19T04:33:38.233 回答
4

此图标集基于 SF Symbols https://framework7.io/icons/

于 2019-10-09T08:28:29.930 回答
3

您可以将新的 ios 13 sf-pro-rounded 字体上传到您的项目。然后在标签中启用该字体。

打开sf符号,点击你想要的smbol,cmd+c,进入你的项目,点击一个标签cmd+v。运行项目,应该会有图标

干杯,

于 2019-10-08T08:04:26.717 回答
2

SF Symbols 是仅在 iOS 13 或更高版本上支持的系统 - 无法在 iOS 12 或更低版本上使用它们。您需要为那些较旧的操作系统使用回退。

请参阅人机界面指南

于 2019-06-05T04:55:17.577 回答
1

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 的解决方案!

于 2020-09-28T09:39:43.760 回答
0

在 SF Symbols 3.1 中,Edit > Copy Image as... 您可以选择 PNG/point size/pixel scale 并粘贴到 Preview 等。

于 2021-12-02T02:51:51.540 回答