ios SwiftUI:具有边栏ListStyle的列表的背景颜色?

sy5wg1nm  于 2022-11-19  发布在  iOS
关注(0)|答案(2)|浏览(160)

我有一个SwiftUI List,它的listStyle被设置为SidebarListStyle,这样得到的List如下所示:

太好了!不过,我想在它上面设置一个不同的背景颜色,但似乎不知道怎么做。我的代码如下:

List {
   <snip>
}
.listStyle(SidebarListStyle())
.background(Color.yellow.ignoresSafeArea())

但是,这实际上什么也不做。我的List看起来完全一样。我该如何为这个List设置背景颜色呢?

ruyhziif

ruyhziif1#

您可以将此修饰符.listRowBackground()用于单独行的背景色。

struct ContentView: View {
    
    private var items = ["1", "2", "3"]
    
    init(){
        UITableView.appearance().backgroundColor = .purple // background color of list
    }
    
    var body: some View {
        List {
            ForEach(items, id: \.self) { item in
                Text(item)
                    .listRowBackground(Color.yellow) // background color of listRow
                Text(item)
                    .listRowBackground(Color.blue) // background color of listRow
            }
        }
        .frame(width: 300, height: 600)
    }
}

z31licg0

z31licg02#

这是iOS 16及更高版本和macOS 13及更高版本的圣杯

.listStyle(SidebarListStyle())
.background(Color.red)
.scrollContentBackground(.hidden)

相关问题