我想用.navigationBarDrawer(displayMode:.always)实现一个带有新的.searchable修饰符的搜索栏。但是如果我启动应用程序,搜索栏的默认位置已经是“滚动”了。

但这是我想在应用程序启动时实现的:

这是我的代码:
struct SearchView: View {
@State var searchText = ""
var body: some View {
NavigationView {
List {
Text("Search Bar")
}
.navigationBarTitle("Search")
.searchable(text: $searchText, placement: .navigationBarDrawer(displayMode: .always))
}
}
}发布于 2021-06-28 02:07:18
一个Hacky的解决方案,但它很有效:
struct ContentView: View {
@State var searchText = ""
var body: some View {
NavigationView {
ZStack {
Rectangle()
.fill(Color.white)
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: 1)
List {
Text("Search Bar")
}
}
.searchable(text: $searchText, placement:.navigationBarDrawer(displayMode: .always))
.navigationBarTitle("Search", displayMode: .large)
}
}}
https://stackoverflow.com/questions/68153209
复制相似问题