我正在尝试使用列表视图将背景色添加到底部安全区域。 我知道如何为列表单元格添加背景色,但是它不适用于安全区域。有什么办法吗?
注意:我确实尝试过ZStack
和.edgesIgnoringSafeArea
,但我需要使用 SwiftUI 2.0列表视图,而不是LazyVStack
或SwiftUI 1.0 (iOS 13) List View
List {
ForEach(0..<100) { index in
Text(String(index))
.listRowBackground(Color.red.edgesIgnoringSafeArea(.all))
}
}
答案 0 :(得分:2)
您需要添加:
UITableView.appearance().backgroundColor = .clear
并将List
放在ZStack
中:
@main
struct TestApp: App {
init() {
UITableView.appearance().backgroundColor = .clear
}
var body: some Scene {
WindowGroup {
ZStack {
Color.red.edgesIgnoringSafeArea(.all)
List {
ForEach(0 ..< 100) { index in
Text(String(index))
.listRowBackground(Color.red)
}
}
}
}
}
}
您也可以直接设置颜色,而不用使用ZStack
:
UITableView.appearance().backgroundColor = UIColor(.red)
请注意,这将全局设置backgroundColor
。