如何在iOS 12及以下版本中使用SF符号?

jckbn6z7  于 2023-02-14  发布在  iOS
关注(0)|答案(8)|浏览(319)

我正在更新我的应用程序中的图标。当我听说苹果在iOS 13中发布了一个名为SF Symbols的图标字体后,我想知道我是否只能在iOS 13中使用它们,或者是否也可以在较低版本的iOS中使用它们。
如果我想使用它们,我是否必须实现旧版本的回退?

c3frrgcw

c3frrgcw1#

您无法在iOS 13之前的iOS版本中原生使用SFSymbols(有关SF符号,请参阅Apple的Human Interface Guidelines)。
不过,如果您对使用图形感兴趣,可以使用SF Symbols应用程序导出SVG版本的图标,然后使用一些图形工具将其转换为PNG图标,以便导入到您的资产目录中。

aydmsdu9

aydmsdu92#

你可以使用Figma打开.svg,然后选择Regular-M并导出为PDF或PNG。
更新以了解更多详细信息:
你可以在Xcode中使用PDF矢量资源,这样图标就可以适合你想要的任何大小。请查看这个博客:https://useyourloaf.com/blog/xcode-9-vector-images/
新的Xcode有一个不同的UI,但基本上是相同的。
1.拖动PDF矢量文件。
1.选中“保留矢量数据”
1.选择“单刻度”

sqougxex

sqougxex3#

正在解决问题

我没有找到解决办法,我放弃了,但实际上我已经深入调查了很久。也许比我幸运的人能够找到hpw来继续我开始的工作:
在Apple文档中,据说为了轻松浏览所有新的iOS 13 SF符号,您可以下载SF符号应用:https://developer.apple.com/design/human-interface-guidelines/sf-symbols/overview/
安装后,您可以进入Application > SF Symbols > showPackage content

content > Resources下,我们可以找到一个名为SFSymbolsFallback.ttf的有趣文件

如果您尝试在https://fontdrop.info/上打开此文件,您可以看到它包含iOS 13中作为SF字体发布的所有字体字形,以及关联的 * unicode *

"宾果?别这么快..."
从那里,我尝试将这个.ttf导入到我的iOS 12项目中,在XCode 10.2.1上,但它似乎从来没有正确导入过。当调用UIFont.familyNames时,它在可用字体列表中不可检索
更有趣的是,如果我尝试在 Font Book 应用程序中导入此字体,我会收到警告,指出它包含重复,与现有字体存在某种冲突

"从那里"
我的猜测是,有另一种字体,阻止SF符号安装,在字体簿和Xcode上。
其中一个解决方案是在XCode包中找到冲突的字体并将其删除(这可能是Symbols字体或San Francisco字体,导致问题idk)
我还尝试用字体编辑器打开字体文件,并更改其名称和家族名称,但没有成功。
如果有人想继续调查..
希望这能帮助到一些人!

6yt4nkrj

6yt4nkrj5#

你可以上传新的ios 13 sf-pro-rounded字体到你的项目中,然后在你的标签中启用该字体。
打开sf符号,点击你想要的smbol,cmd + c,转到你的项目,点击一个标签cmd + v。运行项目,应该有图标
干杯,

kq0g1dla

kq0g1dla6#

在SF Symbols 3.1中,编辑〉复制图像为...您可以选择PNG/点大小/像素比例并粘贴到预览等。

oewdyzsn

oewdyzsn7#

SF Symbols是一个仅在iOS 13或更高版本上支持的系统,无法在iOS 12或更低版本上使用。您需要为这些较旧的操作系统使用后备功能。
参见Human Interface Guidelines

wtlkbnrh

wtlkbnrh8#

1.导入字体:

打开Fonts应用程序,搜索SF Pro Rounded字体,右键点击你想要的变体(例如Light),然后点击Show in Finder。将该文件(例如SF-Pro-Rounded-Light.otf)拖到你的XCode项目中,勾选“Copy if necessary”。

2.选择字体:

选择UILabel或UIButton,将Title设置为Attributed(这很重要),然后选择刚刚复制的字体(例如SF Pro Rounded Light)。

3.设置符号:

在“SF符号”中找到所需的图标,选择它,按CMD+C复制,切换回XCode,单击UILabel或UIButton标题的文本部分,然后按CMD+V粘贴。

  • 非常感谢Dave货车Wijk提供的解决方案!*

相关问题