如何使用列表(SwiftUI)更改视图的背景色
我想让我的手机看起来不在列表的列中。我已经清除了列表的背景色和 分隔符样式集。无。我还将cellView的listRowBackground设置为灰色,但效果不好。我的单元格中的背景颜色仍然是白色。如何清除列表的列背景色?请帮忙。多谢各位如何使用列表(SwiftUI)更改视图的背景色,swiftui,swiftui-list,Swiftui,Swiftui List,我想让我的手机看起来不在列表的列中。我已经清除了列表的背景色和 分隔符样式集。无。我还将cellView的listRowBackground设置为灰色,但效果不好。我的单元格中的背景颜色仍然是白色。如何清除列表的列背景色?请帮忙。多谢各位 struct TeamListView: View { @EnvironmentObject var userToken : UserToken @State var teamResults : [TeamResult] = [] var body: so
struct TeamListView: View {
@EnvironmentObject var userToken : UserToken
@State var teamResults : [TeamResult] = []
var body: some View {
NavigationView {
ZStack{
Color.gray.edgesIgnoringSafeArea(.all)
VStack {
List(teamResults) { team in
TeamListCellView(teamResult: team)
}.navigationBarTitle(Text("My team"),displayMode: .inline)
}
}
.onAppear(perform: {
self.getTeamData()
UITableView.appearance().backgroundColor = .gray
UITableView.appearance().separatorStyle = .none
})
.onDisappear(perform: {
UITableView.appearance().backgroundColor = .white
UITableView.appearance().separatorStyle = .singleLine
})
}
下面是我的cellView,我在这里设置了.listRowBackgroundColor.gray
您可以创建背景并使用它设置视图的背景颜色。为此,您可以将视图嵌入背景视图中
例如:
struct ContentView: View {
@EnvironmentObject var userToken : UserToken
@State var teamResults : [TeamResult] = []
var body: some View {
Background{
NavigationView {
ZStack{
Color.gray.edgesIgnoringSafeArea(.all)
VStack {
List(teamResults) { team in
TeamListCellView(teamResult: team)
}
.navigationBarTitle(Text("My team"),displayMode: .inline)
}
}
.onAppear(perform: {
self.getTeamData()
UITableView.appearance().backgroundColor = .gray
UITableView.appearance().separatorStyle = .none
})
.onDisappear(perform: {
UITableView.appearance().backgroundColor = .white
UITableView.appearance().separatorStyle = .singleLine
})
}
}
}
}
struct ContentView: View {
@EnvironmentObject var userToken : UserToken
@State var teamResults : [TeamResult] = []
var body: some View {
Background{
NavigationView {
ZStack{
Color.gray.edgesIgnoringSafeArea(.all)
VStack {
List(teamResults) { team in
TeamListCellView(teamResult: team)
}
.navigationBarTitle(Text("My team"),displayMode: .inline)
}
}
.onAppear(perform: {
self.getTeamData()
UITableView.appearance().backgroundColor = .gray
UITableView.appearance().separatorStyle = .none
})
.onDisappear(perform: {
UITableView.appearance().backgroundColor = .white
UITableView.appearance().separatorStyle = .singleLine
})
}
}
}
}
struct Background<Content: View>: View {
private var content: Content
init(@ViewBuilder content: @escaping () -> Content) {
self.content = content()
}
var body: some View {
Color.gray
.frame(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
.overlay(content)
}
}