在SFSymbols中找到所有可用的图像作为“ systemName”


79

在哪里可以找到SFSymbol中可用的所有系统映像?例如在SwiftUIImage初始化程序中Image(systemName:)

我只使用了"chevron""star.fill"到目前为止,在苹果公司的SwiftUI系列教程发现。但是,我在任何官方文档中都找不到完整的图标列表。


您可以从开发人员门户网站的全部套件
奥斯卡Apeland

看看这里,it's在苹果直营店线SF符号:developer.apple.com/design/human-interface-guidelines/...
罗纳德·霍夫曼

5
我搜索了所有这些文件,查找“ star.fill”,却一无所获。这些在哪里列出?我可以打开FontBook并在SF Pro Display下滚动浏览符号页面(例如),但看不到“ star.fill”,如果要使用这些符号之一-怎么做?
P. Ent

Answers:


125

这些图标称为SF符号。您可以在iOS 13和更高版本,macOS 11和更高版本,watchOS 6和更高版本以及tvOS 13和更高版本中使用超过2,400个符号。您可以在可以使用图像的任何地方使用符号。

要浏览完整的符号集,请下载SF Symbols应用程序。有关SF符号的更多信息,请在此处检查。


SF Symbols 2引入了750多个新符号,其中包括:

  • 超过150种预配置的多色符号,可自动适应鲜艳度,辅助功能设置和外观模式
  • 标准和自定义符号中的负边距,使您可以更好地控制水平对齐方式
  • 从右到左书写系统的本地化符号变体,以及阿拉伯语,梵文和希伯来语的脚本特定符号

用法

UIKit:

let heartImage = UIImage(systemName: "heart.fill")

SwiftUI:

let heartImage = Image(systemName: "heart.fill")

16

您可以在SwiftUI中使用SF Symbol Images

Image(systemName: "person")

下载链接:https : //developer.apple.com/design/resources/


4
您不必购买第三方产品即可查看符号。为什么Xcode无法打开它并向您显示?Android Studio使从其库中添加矢量符号到您的应用程序变得非常容易。
P. Ent

大多数应用程序不使用这些符号。那可能是原因。
Mehmet Ali Vatanlar

2
Apple提供了它们,并且跨应用程序具有标准图像使用户在识别熟悉的符号时更加容易。我只是认为提供它们会更像Apple。
P. Ent

9
SF Symbols应用程序是免费的,由Apple制造,而不是由第三方制造。它也适用于设计师,而不仅仅是开发人员。
jmdecombe

13

的应用

苹果为此专门设计了一个名为SF Symbol的应用程序。您应该从此处下载最新版本以浏览完整的符号集。

预习


重要的提示

您应该始终使用该应用程序,以使其具有可用于预览导出和欣赏的新符号。


向后兼容。

如果您需要使用新符号,例如iOS 14及更高版本的SF Symbols 2.0中引入的新的多色符号,则可以使用应用程序本身将其导出,并将其作为项目中的资产导入。此答案的步骤1和2显示了如何导出符号以将其用于较旧的iOS版本


7

假设您已安装Xcode,则还可以预览所有图像,而无需下载单独的应用程序。

诀窍是您需要在Storyboard而不是SwiftUI Canvas中查看它们。

将UIImageView添加到情节提要中,然后按Image附近的下拉箭头。您将看到Apple提供的图像的完整列表:

在此处输入图片说明

复制图像的名称,然后像上面提到的其他答案一样使用它:

Image(systemName: "square.and.arrow.up")

接着?我们将如何在SwiftUI中使用它们?
阿努比斯勋爵

1
在SwiftUI你用它作为上述声明:图片(SYSTEMNAME:“SystemImageName”)
丹尼尔·贝伦·杜阿尔特

5

看看这个Swift包SFSafeSymbols

您可以从枚举中访问所有SF符号

static func getRandomSFSymbol() -> SFSymbol {
    return SFSymbol.allCases.randomElement() ?? SFSymbol.xCircle
}

我正在寻找做下面的iOS 13.0版本相同的方式,因此SFSafeSymbols没有帮助
Володимир

SF符号在iOS 12及更低版本中不可用。您需要做的就是从我提到的库中获取该枚举,然后将其与数组图像名称结合起来,其中图像是您导出为图像的SF符号。为了获得更好的结果,您可以将符号导出为SVG
visc

1
谢谢。我试图将SF Symbol复制到字符串中,然后将其直接添加到Label或Button中-没有成功。最后-导出为PDF并作为矢量图像插入-很有帮助。
Володимир

是的,代码和字体符号实际上在iOS 12及以下版本中不存在。因此,您无法从OS中获得它们。您必须提供它们
visc

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.