SwiftUI底部安全区列表视图如何添加背景色 iOS 14

How to add background color to the list view of bottom safe area SwiftUI iOS 14

我正在尝试使用列表视图将背景色添加到底部安全区域。 我知道如何为列表单元格添加背景颜色,但它不适用于安全区域。有什么办法吗?

注意:我试过ZStack.edgesIgnoringSafeArea,我需要使用SwiftUI 2.0列表视图 , 不是 LazyVStackSwiftUI 1.0 (iOS 13) List View

List {
  ForEach(0..<100) { index in
     Text(String(index))
     .listRowBackground(Color.red.edgesIgnoringSafeArea(.all))
  }
}

您需要添加:

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 全局设置