QuickSearch is a SwiftUI SDK that lets you type into a .searchable
text field by just typing, without first having to focus on it.
Unlike the native .searchable(text: $query, isPresented: .constant(true))
modifier, QuickSearch doesn't show the input cursor, to avoid draving attention to the search field.
QuickSearch can be installed with the Swift Package Manager:
https://github.com/danielsaidi/QuickSearch.git
All you have to do to make QuickSearch work, is to apply quickSearch: true
to .searchable
:
struct ContentView: View {
@State
var query = ""
@State
var text = ""
@FocusState
var isTextFieldFocused
var body: some View {
NavigationStack {
VStack {
TextField("Type here...", text: $text)
}
.searchable(text: $query, quickSearch: true)
}
}
}
You can also apply the .quickSearch
view modifier, to any superview, if you can't access .searchable
, use custom focus bindings, etc.
The online documentation has more information, articles, code examples, etc.
The Demo
folder has an app that lets you explore the library.
You can sponsor me on GitHub Sponsors or reach out for paid support, to help support my open-source projects.
Your support makes it possible for me to put more work into these projects and make them the best they can be.
Feel free to reach out if you have questions or want to contribute in any way:
- Website: danielsaidi.com
- Mastodon: @danielsaidi@mastodon.social
- Twitter: @danielsaidi
- E-mail: daniel.saidi@gmail.com
QuickSearch is available under the MIT license. See the LICENSE file for more info.