【发布时间】:2020-08-30 14:20:07
【问题描述】:
我在我的应用中的自定义标题内实现了一个搜索栏。在搜索栏下方,我添加了一个虚假的List,其中包含 100 行,旨在显示搜索结果。
我面临的问题是:
- 出现列表时,搜索栏会超出范围。当我添加 400 像素的顶部填充时,搜索栏会回到边界。 Link to video 1
接下来的两个有点跑题了。
- 当键盘在屏幕上时,列表的最后几行不可见。如何解决? Link to video 2
- 如何为
List设置背景颜色?我一直无法弄清楚。 (listRowBackground 修饰符没有按照我阅读的一篇文章的建议工作。)
我正在使用 Xcode 12.0 beta 6。
let screen = UIScreen.main.bounds
struct SearchBarView: View {
@Binding var search: String
@Binding var searchSelected: Bool
var body: some View {
VStack {
CustomTextField(text: $search, isFirstResponder: true)
.modifier(SearchBarTextFieldStyle(search: $search))
if !search.isEmpty {
List(1..<100) { i in
Text("Hello \(i)")
}.frame(width: screen.width)
}
}
.frame(width: screen.width, height: !search.isEmpty ? screen.height : 40)
.background(Color("ThemeColor"))
}
}
【问题讨论】: