我试图为我的一个视图设置背景色,但是当我在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 ?")
}
}
}
答案 0 :(得分:1)
首先,您可以删除所有列表的默认背景,并将其设置为clear
:
UITableView.appearance().backgroundColor = UIColor.clear
然后更改List
的颜色:
ZStack {
Color.green
List {}
}
然后使用以下方法更改任何单个项目的颜色:
.listRowBackground(Color.green)