我正在使用新的可搜索修饰符:https://developer.apple.com/documentation/swiftui/form/searchable(text:placement:)。当用户使用该修饰符进入视图时,该文本字段不会自动聚焦。
有没有办法让注意力集中在 上searchable?这是我的观点,它被称为NavigationLink
import SwiftUI
struct UserFindView: View {
@State private var searchText = ""
var body: some View {
Text("Please search")
.searchable(text: $searchText)
.navigationTitle("Title")
.navigationBarTitleDisplayMode(.inline)
}
}
Run Code Online (Sandbox Code Playgroud)
从 iOS 17 开始,您现在可以使用.searchable(text: Binding<String>, isPresented: Binding<Bool>)
struct ContentView: View {
@State private var searchText = ""
@State private var isSearching = false
private let fruits = ["apple", "banana", "plum", "grape"]
var filteredFruits: [String] {
if !searchText.isEmpty {
return fruits.filter { $0.starts(with: searchText.lowercased()) }
} else {
return fruits
}
}
var body: some View {
NavigationView {
List {
ForEach(filteredFruits, id: \.self) { fruit in
Text(fruit.capitalized)
}
}
.navigationBarTitle("Search")
.searchable(text: $searchText, isPresented: $isSearching)
Button("Search", action: { isSearching = true})
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3029 次 |
| 最近记录: |