SF符号选择器

2小时前更新 1 00
SF符号选择器SF符号选择器
SF符号选择器

技能简介

SymbolPicker是一个原生的SwiftUI组件,用于在iOS、iPadOS、macOS和visionOS平台上选择SF Symbols图标。该组件复刻了苹果原生界面风格,同时支持对颜色、样式(填充/描边)和行为进行深度定制。

能做什么

  • 弹出式SF符号选择面板,支持搜索浏览全部系统图标
  • 绑定选中图标的名称到状态变量
  • 可选颜色选择功能,支持SwiftUI Color或RGBA数组
  • 切换图标显示样式:描边轮廓或填充实心
  • 控制选择后面板的关闭行为(自动关闭或手动关闭)
  • 自适应不同平台:iOS底部弹窗、iPad/Mac/visionOS气泡浮层

使用说明

1. 安装依赖

在Xcode项目中添加Swift Package:

https://github.com/SzpakKamil/SymbolPicker.git

最低版本要求1.0.0,导入模块:

import SymbolPicker

2. 基础用法

@State private var isPresented = false
@State private var icon = "star"

Button("Pick Icon") { isPresented = true }
    .symbolPicker(isPresented: $isPresented, symbolName: $icon)

3. 带颜色选择

@State private var color: Color = .red

Button("Pick Icon & Color") { isPresented = true }
    .symbolPicker(isPresented: $isPresented, symbolName: $icon, color: $color)
    .symbolPickerSymbolsStyle(.filled)
    .symbolPickerDismiss(type: .onSymbolSelect)

4. 关键修饰符

  • .symbolPickerSymbolsStyle(.filled/.outlined) — 切换图标样式
  • .symbolPickerDismiss(type: .onSymbolSelect/.manual) — 控制关闭时机

输入与输出

见下方输入与输出表格。

项目内容
输入目标平台标识、颜色选择开关、图标样式枚举(.filled/.outlined)、关闭类型枚举、绑定状态变量
输出符号名称字符串(如”star.fill”)、颜色绑定值、面板显隐状态
适用人群iOS/macOS/visionOS应用开发者、SwiftUI技术栈工程师、需要原生风格图标选择器的项目团队
不包含自定义SVG/PNG图标加载、符号收藏夹持久化、网络符号库同步、非Apple平台支持

 

风险提示

  • 需将.symbolPicker()修饰符附加到视图层级中的可见元素上,否则面板无法弹出
  • 确保isPresented绑定值正确切换为true以触发显示
  • 颜色绑定支持Color[Double](RGBA)或SymbolColor类型,混用类型会导致编译错误
  • 最低系统要求:iOS 14.0、macOS 11.0、visionOS 1.0,低于此版本无法运行

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/szpakkamil/symbolpicker/SKILL.md
来源类型:GitHub仓库技能文档

数据统计

相关导航

暂无评论

none
暂无评论...