← 返回
开发者工具 中文

SearchBar

Expert guidance on SearchBar, a customizable SwiftUI search component. Use when developers mention: (1) SearchBar, (2) custom search bars in SwiftUI, (3) search tokens or suggestions, (4) styling search bars (glass, capsule), (5) cross-platform search (iOS, macOS, visionOS), (6) specific SearchBar modifiers like .searchBarStyle or .searchBarSuggestions.
关于 SearchBar(可定制的 SwiftUI 搜索组件)的专家指导。适用场景:开发者提及 (1) SearchBar,(2) SwiftUI 自定义搜索栏,(3) 搜索令牌或建议,(4) 搜索栏样式设计(如 glass、capsule),(5) 跨平台搜索(iOS、macOS、visionOS),(6) 特定 SearchBar 修饰符(如 .searchBarStyle 或 .searchBarSuggestions)。
szpakkamil szpakkamil 来源
开发者工具 clawhub v1.0.0 1 版本 99945.9 Key: 无需
★ 1
Stars
📥 1,828
下载
💾 36
安装
1
版本
#latest

概述

SearchBar Skill

Overview

This skill provides expert guidance on SearchBar, a powerful and highly customizable SwiftUI component for creating native-feeling search experiences across iOS, iPadOS, macOS, and visionOS. It bridges the gap between UISearchBar (iOS/visionOS) and native SwiftUI views (macOS), offering a unified API for styling, behavior, and advanced features like search tokens and dynamic suggestions.

Agent Behavior (Follow These Rules)

  1. Identify Platform Targets: SearchBar behaves slightly differently on iOS/visionOS (wraps UISearchBar) vs. macOS (custom SwiftUI). Always check or ask for the target platform to provide accurate advice (e.g., specific material effects or token behaviors).
  2. Prioritize Modifiers: Direct users to the relevant SearchBar modifiers (e.g., .searchBarStyle, .searchBarSuggestions) rather than suggesting they build custom views from scratch.
  3. Clarify Availability: Explicitly mention version requirements (iOS 14+, iOS 16+ for tokens/suggestions) when discussing advanced features.
  4. Emphasize Localization: Remind users that SearchBar is fully localized and adapts to system languages automatically.
  5. Contextual Examples: Provide concise code snippets that illustrate the recommended usage within a View, often with a binding to @State for text and tokens.
  6. Highlight Cross-Platform: When possible, remind users of SearchBar's cross-platform consistency and how to handle platform-specific differences using #if os(...) directives if necessary (though the library handles most internally).

Project Settings

  • Deployment Targets: iOS 14.0+, iPadOS 14.0+, macOS 11.0+, visionOS 1.0+.
  • Advanced Features: Tokens and Suggestions require iOS 16.0+, iPadOS 16.0+, visionOS 1.0+. (Suggestions also on macOS 15.0+).
  • Swift Version: Swift 5.9+.

Quick Decision Tree

  1. Setting up a basic search bar?
    • Basic init and setup → references/SearchBar.md
  1. Customizing appearance?
    • Changing colors, shape (capsule/rounded) → references/SearchBarStyle.md
    • Using "Glass" or "Solid" materials → references/SearchBarStyle.md
    • Changing the size/scale → references/SearchBarStyle.md
    • Custom icon → references/SearchBarModifiers.md (.searchBarIconView)
  1. Configuring behavior?
    • Showing/Hiding Cancel or Clear buttons → references/SearchBarDisplayModes.md
    • Handling events (begin/end editing, clear, cancel) → references/SearchBarModifiers.md
    • Focus management → references/SearchBarModifiers.md (.searchBarIsFocused)
  1. Using advanced search features (iOS 16+/visionOS)?
    • Adding filter tokens (capsules) → references/SearchBarData.md
    • Showing search suggestions → references/SearchBarData.md
    • Enabling automatic suggestion filtering → references/SearchBarData.md

Triage-First Playbook

  • "My search bar looks different on macOS."
  • Explain that macOS uses a pure SwiftUI implementation while iOS uses UISearchBar. Styling is consistent but underlying implementation differs.
  • "Tokens/Suggestions are not showing up."
  • Verify the deployment target is iOS 16.0+ or visionOS 1.0+.
  • Ensure the binding to tokens/suggestions is active and populated.
  • "How do I change the background color?"
  • Use .searchBarStyle(..., backgroundColor: .red). See references/SearchBarStyle.md.
  • "I want to hide the cancel button."
  • Use .searchBarCancelButtonDisplayMode(.never). See references/SearchBarDisplayModes.md.
  • "How do I make the search bar glass/transparent?"
  • Use .searchBarMaterial(.glass). Note platform/version restrictions (iOS 26+). See references/SearchBarStyle.md.

Core Patterns Reference

Basic Setup

SearchBar(text: $text, prompt: "Search...")
    .searchBarStyle(.rounded)

Advanced Styling

SearchBar(text: $text)
    .searchBarStyle(.capsule, textColor: .white, tint: .blue, backgroundColor: .black.opacity(0.8))
    .searchBarMaterial(.glass) // iOS 26+ (Experimental/Future)

Tokens & Suggestions

SearchBar(text: $text)
    .searchBarCurrentTokens($tokens)
    .searchBarSuggestions($suggestions)
    .searchBarEnableAutomaticSuggestionsFiltering(true)

Event Handling

SearchBar(text: $text)
    .searchBarBeginEditingAction { print("Started") }
    .searchBarEndEditingAction { print("Ended") }
    .searchBarCancelButtonAction { print("Cancelled") }

Integration Quick Guide

SearchBar is integrated via Swift Package Manager.

  1. Add Package Dependency: In Xcode, go to File > Add Package Dependency and enter https://github.com/SzpakKamil/SearchBar.git.
  2. Import: import SearchBar in your Swift files.
  3. Deployment Targets: Ensure your project targets iOS 14.0+, macOS 11.0+, visionOS 1.0+.

For detailed setup, see references/SearchBar.md.

Reference Files

  • SearchBar.md - General overview, setup, and initialization.
  • SearchBarModifiers.md - Comprehensive list of all modifiers.
  • SearchBarStyle.md - Styling, materials, corner styles, and scale.
  • SearchBarDisplayModes.md - Cancel and Clear button behaviors.
  • SearchBarData.md - Search Tokens and Suggestions.
  • _index.md - Index of all topics.

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-28 19:02 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

Mcporter

steipete
使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。
★ 195 📥 67,418
dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 677 📥 325,821
dev-programming

YouTube

byungkyu
使用托管OAuth集成YouTube Data API,支持搜索视频、管理播放列表、获取频道数据及评论互动,适用于用户需要时使用此技能。
★ 142 📥 41,397