Swift Package Manager MacOS + iOS + iPadOS + tvOS + watchOS Twitter: @michaelabadiii

SFSymbolsFinder

SFSymbolsFinder 是一个方便的库,用于获取所有可用的最新 SF Symbols 图片。

简介

SFSymbolsFinder 引入了 22 个 SF Symbols 类别,每个类别都由一个 enum 表示。

所有类别都基于 Apple 官方的 SF Symbols 应用程序 sfsymbols

所有图标都已更新,现在支持所有图标。请参考“全部类别”以获取所有图标。 欢迎贡献!

用法

全新更新!

现在你可以直接使用智能初始化!

Image(systemName: .person)

UIImage(systemName: .person)

常规用法

通过调用每个类别的 enum 轻松使用它

import SFSymbolsFinder
import SwiftUI

struct ContentView: View {
  var body: some View {
    VLayout {
        // Approach 1 by using Image directly
        VLayout {
            Communication.micSlashFill.image
                                .resizable()
        }
        // Approach 2 by using the system name string
        VLayout {
            Image(systemName: Communication.micSlashFill.systemName)
                                .resizable()
        }
        // Approach 3 by using enum directly
        VLayout {
            All.micSlashFill // this one is recognized as an Image already
            // If you want to resize you need to access the body
            All.micSlashFill.body
                            .resizable()
        }
    }
  }
}

要获取 uiImage 版本,可以使用以下代码

All.micSlashFill.uiImage

有些类别需要特殊方式来检索符号

物体和工具

其中一个图标 oneMagnifyingglass 用于获取 1.magnifyingglass 系统名称

索引

对于索引,有特殊的方法来获取 3 个特殊符号,用于检索 Currency(货币)、Alphabet(字母)和 Number(数字)。

// With Int
Indices.Number.circle(number: 1).systemName
// With String
Indices.Number.circle(number: "01").systemName

请注意,并非每个数字或字符串都受支持,如果输入 999 或 "-123",则不会返回任何内容。

Indices.Alphabet.circle(character: .a).systemName // return a.circle
Indices.Currency.circle(currency: .dollar).systemName // return dollarsign.circle

全部

如果您不想使用基于类别的,则所有图标都很有用。 只需从 SF Symbols 应用程序复制名称,然后使用 enum 样式的代码。

// In sf symbols : xmark.circle
// In code like below
All.xmarkCircle.systemName

注意:对于数字,仍然需要使用 Indices.Number

安装

SFSymbolsFinder 使用 Swift Package Manager 分发。 要将其安装到项目中,请按照 本教程 并使用此存储库 URL:https://github.com/abadikaka/SFSymbolsFinder.git

鸣谢

SFSymbolsFinder 由 Michael Abadi S. 构建,作为他在 他的网站 中描述的某些项目的组件。

贡献和支持

欢迎并鼓励所有用户积极参与项目的持续开发 - 通过修复遇到的任何错误,或通过改进发现缺乏的文档,并添加更多或丢失的可用 SF Symbols,甚至仅添加一个单元测试。

如果您想进行更改,请打开一个 Pull Request,即使它只包含您计划更改的草稿,或者一个重现问题的测试。

如果您想打开一个 issue,请提交新的 issue。

待办事项

感谢您,请享受使用 SFSymbolsFinder