【发布时间】:2020-08-10 18:36:41
【问题描述】:
我正在呈现视图 (AddItemView) 中实现列表。我希望任何视图中的背景颜色都与 List 相同。
struct HomeView: View {
@State private var showAddItemView: Bool = false
var body: some View {
NavigationView {
List(0..<9, id: \.self) { i in
Text("Row \(i)")
}
.navigationTitle("Home")
.navigationBarItems(trailing:
Button("Add") {
showAddItemView.toggle()
})
.sheet(isPresented: $showAddItemView) {
AddItemView()
}
}
}
}
struct AddItemView: View {
init(){
UITableView.appearance().backgroundColor = .clear
}
var body: some View {
NavigationView {
List(0..<9, id: \.self) { i in
Text("Row \(i)")
}.background(Color(UIColor.systemGroupedBackground))
.listStyle(InsetGroupedListStyle())
.navigationBarTitle("Add Item View", displayMode: .inline)
}
}
}
上面的代码是用 InsetGroupedListStyle 创建简单的列表。但是呈现视图时背景颜色不同(在我的情况下为 AddItemView)。
我已经尝试过https://stackoverflow.com/a/58427518/7084910
如何在呈现的视图中设置列表的背景颜色,就像在任何普通列表中一样。 Red/Yellow/Green 可以设置为 List,“但是”我想要与 HomeView 中的普通列表相同,可以在明暗模式下工作。
【问题讨论】:
-
什么是呈现视图?你会显示代码吗?
-
@Asperi,我已经更新了问题