SwiftUI macOS使用SF Symbols 2

问题描述

我已经安装了SF Symbols 2,我想使用它的图标而不必复制该符号。

有什么方法可以在macOS上使用它吗?

据我了解,它仅适用于iOS

我尝试将图标导出为svg,但是整个示例都已导出,因此该图标的整个集合。

版本:

macOS: 10.15.4
Xcode: 11.7

解决方法

如果您希望在macOS(包括彩色版本)中使用sf符号,则需要安装macOS 11 beta或更高版本,那么它将照常运行,否则,您必须导出模板并将其导入到资产目录中,则可以将其用作普通图像。所以:

if #available(OSX 11.0,*) {
    Image(systemName: "trash.fill")
} else {
    Image("trash.fill") // Imported as a supporting format like PDF (not SVG)
}

另一种方法是直接在文本中使用符号:

Text("?") // The symbol itself can not be shown on the mark down of the StackOverflow

Demo

请记住,您应该在应用程序中嵌入字体,或者目标位置应安装SF Symbols App

,

在MacOS 10. *中使用SF符号有点繁琐且受限制,您需要像这样通过NSImage进行操作

Image(nsImage: NSImage(named: NSImage.trashFullName)!)

您需要使用NSImage.trashFullName作为参数,因此您只能使用NSImage中定义的名称。