在 SwiftUI 中使用搜索欄

SwiftUI 是 Apple 在 WWDC 2019 推出的新框架,它可以讓開發者更輕鬆地建立出跨平台的 App,而在 SwiftUI 中使用搜索欄也是一個很常見的功能。本文將會介紹如何在 SwiftUI 中使用搜索欄,讓你的 App 更容易被使用者找到。

在 SwiftUI 中使用搜索欄,可以讓使用者更容易地找到他們想要的資料,而且也可以讓 App 的 UI 更加簡潔。首先,我們需要先建立一個 SearchBar 的 View,並且將它放在我們的 App 中:

struct SearchBar: View {
    @Binding var text: String

    var body: some View {
        HStack {
            TextField("Search ...", text: $text)
                .padding(7)
                .padding(.horizontal, 25)
                .background(Color(.systemGray6))
                .cornerRadius(8)
                .overlay(
                    HStack {
                        Image(systemName: "magnifyingglass")
                            .foregroundColor(.gray)
                            .frame(minWidth: 0, maxWidth: .infinity, alignment: .leading)
                            .padding(.leading, 8)
                    }
                )
        }
    }
}

接著,我們需要將 SearchBar 放入我們的 App 中,並且將它與我們的資料綁定:

struct ContentView: View {
    @State private var searchText = ""

    var body: some View {
        VStack {
            SearchBar(text: $searchText)
            List {
                // Your data here
            }
        }
    }
}

最後,我們需要將我們的資料與 SearchBar 綁定,以便讓使用者可以搜尋到他們想要的資料:

struct ContentView: View {
    @State private var searchText = ""

    var body: some View {
        VStack {
            SearchBar(text: searchText)
            List {
                ForEach(data.filter {
                    self.searchText.isEmpty ? true :0.name.localizedStandardContains(self.searchText)
                }, id: \.self) { item in
                    // Your data here
                }
            }
        }
    }
}

在上面的程式碼中,我們使用了 filter 來篩選出使用者想要的資料,並且將它們顯示在 List 中。

總結來說,在 SwiftUI 中使用搜索欄是一個很簡單的事情,只要將 SearchBar 放入 App 中,並且將它與資料綁定,就可以讓使用者更容易地找到他們想要的資料。

推薦閱讀文章

How to add a search bar to a SwiftUI list
How to Create a Search Bar in SwiftUI
SwiftUI Search Bar Tutorial
How to Add Search Bar to SwiftUI List
Adding a search bar to a list</a

延伸閱讀本站文章

更多swift相關文章

延伸閱讀本站文章

SwiftUI 入門指南
Swift 圖片緩存 🎥高效快速存取圖片
Swift UIViewController 自定義返回按钮 🔙🎨
Swift UIGestureRecognizer使用🖐️ – 手勢辨識教學
Swift 離線資料存取 💾 離線資料快速存取法
Swift 影片拍攝:AVCaptureSession 🎥
Swift 圖片下載 🖼️
💾Swift 存儲 & 讀取數據 | 數據持久化 💾
Swift 動畫效果實作 (UIView.animate)
Swift 數字輪播器 🔢🔄

推薦學習youtube影片

全程用iPad开发一款SwiftUI App?「Swift Playground 4 首发体验」

在 SwiftUI 中使用搜索欄

Categorized in:

Tagged in:

,