由于列表原因,导航视图的背景色未显示

时间:2020-06-08 22:16:27

标签: ios swift swiftui

我试图为我的一个视图设置背景色,但是当我在ZStack中实现动态列表时,它会完全覆盖背景色(在这种情况下为红色)。删除列表将显示背景色。会有解决方法吗?提前致谢。
下面的图片是即使我的代码在红色背景下运行我的代码后仍显示的内容。

var body: some View {
    NavigationView {
        ZStack {
            Color.red.edgesIgnoringSafeArea(.all)

            List{
                searchField

                if viewModel.dataSource.isEmpty {
                    emptySection
                } else {
                    cityHourlyWeatherSection
                    forecastSection
                }
            }
            .listStyle(GroupedListStyle())
            .navigationBarTitle("Weather ?")
        }
    }
}

enter image description here

1 个答案:

答案 0 :(得分:1)

首先,您可以删除所有列表的默认背景,并将其设置为clear

UITableView.appearance().backgroundColor = UIColor.clear

然后更改List的颜色:

ZStack {
    Color.green
    List {}
}

然后使用以下方法更改任何单个项目的颜色:

.listRowBackground(Color.green)