首页 > 解决方案 > 在 iOS15 中更改列表的背景颜色

问题描述

随着新的 XCode 13 和它的 iOS 15 支持,列表的呈现方式显然发生了变化。现在列表有一个额外的灰色背景。以前,背景是纯白色的,就像我想要的那样。当我添加文本等其他元素时,默认背景颜色仍然是白色。

有没有办法摆脱列表的灰色环境而不切换到ForEach()解决方案?

我尝试在不同的地方将背景颜色从灰色更改为白色,并添加额外的堆栈以希望覆盖默认背景颜色。

我希望它是全白的,没有灰色的环绕:

示例图像

struct ContentView: View {
    var body: some View {
        
        VStack {
            Text("Test")
            
            List {
                ForEach(1..<20) { i in
                    Text(String(i))
                }         
            }.frame(maxWidth: .infinity)                
        }       
        
    }
}

标签: swiftuiswiftui-listios15

解决方案


将 更改listStyle.plain。iOS 14 的默认值为.plain,而.insetGroupediOS 15 的默认值为 。

代码:

struct ContentView: View {
    var body: some View {
        VStack {
            Text("Test")

            List {
                ForEach(1 ..< 20) { i in
                    Text(String(i))
                }
            }
            .listStyle(.plain)
        }
    }
}

结果:

结果


推荐阅读