在 SwiftUI 中查找 Image (systemName:)的所有可用图像

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

到目前为止,我只使用了 "chevron""star.fill",这是在苹果的 SwiftUI 教程系列中发现的。然而,我还没能在任何官方文档中找到完整的图标列表。

154245 次浏览

这些图标称为 SF 符号。有超过3,300个符号,你可以在 IOS13和更高版本中使用,在 MacOS 11和更高版本中使用,在 手表操作系统6和更高版本中使用,在 TvOS 13和更高版本中使用。您可以在任何可以使用图像的地方使用符号。

要浏览完整的符号集,请查看 下载 SF 符号应用程序。要了解更多关于 SF 符号的信息,请查看 给你

科幻符号历史更新:


SF 符号2 引入了超过750个新符号,包括:

  • 超过150个预先配置,多色符号,自动适应活力,无障碍设置,和外观模式
  • 标准和自定义符号中的负边距,给出 对水平对齐的更大控制
  • 也适用于从右向左书写系统的本地化符号变体 作为阿拉伯语、德瓦纳加里语和希伯来语的特定脚本符号

SF 符号3 具有超过600个新符号,增强了颜色定制,一个新的检查器,并改进了对定制符号的支持。


SF 符号4 功能超过1000个新的符号,可变颜色,自动渲染和新的统一层注释。这些新的符号可以在运行 iOS16、 iPadOS16、 macOS13、 tvOS16和 watch OS9的应用程序中找到。


用法

UIKit:

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

SwiftUI:

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

可以在 SwiftUI中使用 SF 符号图像

Image(systemName: "person")

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

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

诀窍是您需要在 故事板中查看它们,而不是在 SwiftUI 画布中。

添加一个 UIImageView 到你的故事板,然后按下拉箭头靠近图像。你可以看到苹果提供的所有图片:

enter image description here

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

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

应用程序

苹果有一个专门的应用程序称为科幻符号。你应该 从这里下载最新版本浏览整套符号。

Preview


Xcode 14

您可以使用 图书馆从 Xcode 应用程序预览所有符号

command + shift + L

Library


重要提示

你应该总是留在应用程序有新的符号可用的 预览出口和享受。导出选项只能在 SF Symbols应用程序中使用。


向下兼容

如果您需要使用新的符号,比如在 iOS14及以上版本的 SF 符号2.0中引入的新的多色符号,您可以使用应用程序本身导出它们,并将它们作为项目中的资产导入。这个答案的步骤1和步骤2显示 如何导出符号以在旧版本的 iOS 中使用

看看这个快速包 标志

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

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

有道理的回答更快更简单的变体:

在故事板视图中,单击屏幕顶部的添加按钮。如果在打开的对话框中单击图像图标,则可以滚动所有系统图标。然后可以通过引用 UIImage(systemName: iconName)中的图标名称来使用它们。

Screenshot of system icons list

在 Xcode 12.5中测试。

SF SymbolsiOS 13+中的系统图标框架。

我们可以在以下网址找到完整的图标列表:

Https://sfsymbols.com

不幸的是,该网站不允许苹果许可,显示和/或预览图像直接,但有关键字,我们需要生成自己的预览列表(至少所有人喜欢我需要)。

警告: SF- 符号有奇怪的使用规则,任何担心的人,应该找到另一个免费的图标替代品。

比如: https://github.com/google/material-design-icons
或者: < a href = “ https://github.com/jossef/Materials-design-icon-iconfont”rel = “ nofollow norefrer”> https://github.com/jossef/material-design-icons-iconfont
(使用 Apache 2.0许可证,不需要任何属性)

我认为你可以在 xcode 中做到这一点,但苹果公司建议下载 https://developer.apple.com/sf-symbols/

有超过3,300个符号,SF 符号是一个图标库,旨在与旧金山,苹果平台的系统字体无缝集成。

我找到了所有有名字的 SFSymbols

在线 SF 符号浏览器