触手可及的所有 SFSymbols。
SFSymbol 是 static variables (静态变量),包含 Apple 所有 SFSymbols 的标识符字符串,以及它们所属的类别和可用性。
你可以使用 'allSymbols' 静态变量来遍历所有版本兼容的符号。
for symbol in SFSymbol.allSymbols {
print(symbol.title)
}
如果你只想获取特定 SFCategory 中的符号,你可以这样做。
for symbol in SFCategory.weather.symbols {
print(symbol.title)
}
甚至还有常见、易于理解的符号名称。你可以随意扩展 SFSymbols 在你自己的项目中,以添加更多常见的名称。
public extension SFSymbol{
static let share = squareAndArrowUp
static let refresh = arrowClockwise
static let copy = docOnDoc
static let writing = squareAndPencil
}
@available(iOS 14, macOS 14.0, tvOS 14.0, watchOS 7.0, *)
public extension SFSymbol{
static let edit = rectangleAndPencilAndEllipsis
static let filter = lineHorizontal2DecreaseCircle
static let sort = arrowUpArrowDownCircle
}
此外,还有多个扩展,包括 UIImage、Image、Button、Label 和 UIAction,可以轻松使用任何 SFSymbol。
UIImage(symbol: .playCircle)
Image(symbol: .playCircle)
VStack {
Label("Sunset", symbol: .sunset)
Label("Sunset", symbol: .sunset)
.foregroundStyle(.red)
Label("Sunset", symbol: .sunset, textColor: .orange)
.foregroundStyle(.yellow)
}
VStack {
Button(symbol: .sunset){}
.foregroundStyle(.red)
Button("Sunset", symbol: .sunset){}
.foregroundStyle(.yellow)
Button("Sunset", symbol: .sunset, textColor : .orange){}
.foregroundStyle(.yellow)
}
SFSymbols 是 Apple 的一个真正的福利。然而,一个缺点是查找确切的符号名称非常麻烦。例如:"square.and.line.vertical.and.square.fill"。这是一个很长的字符串,需要记住,并且一遍又一遍地浏览 SF Symbols 目录令人厌倦。
如果可以使用代码自动完成功能,岂不是更容易?
这就是这个微型库的目的。此外,此库还包括每个符号的相关信息,例如发布信息、类别和相关的搜索词。
由于 Xcode 将 Swift Package Manager 原生集成到 IDE 中,你可以通过以下方式简单地添加 SFSymbol:
File (文件) -> Swift Packages (Swift Packages) -> Add Package Dependency... (添加包依赖...)
当提示输入包 URL 时,粘贴
https://github.com/Rspoon3/SFSymbols
然后单击“Next” (下一步) & “Finish” (完成) 以通过 Xcode & SPM 自动安装 SFSymbol!
不想添加额外的第三方依赖项?那么只需将文件复制到项目相应的文件夹中即可!
感谢 Nirma 提供的想法。本项目深受他的 SFSymbol 包的影响,并基于此构建。我发现有些事情我想以不同的方式做,不知不觉中,我已经发展出了他已经完成工作的一个分支,并且朝着不同的方向发展。我还要感谢 Steven Sorial 创建了鼓舞人心且广受欢迎的 SFSafeSymbols。
如果您有任何关于改进项目的建议或想法,请随时提出。您可以创建一个 pull request 或为此项目打开一个 issue。
要更新符号,请按照以下步骤操作
SFSymbols 在 MIT 许可证下发布。 查看 LICENSE 以获取详细信息。