SwiftUI - 避免列表标题的半透明背景

问题描述 投票:0回答:1

我有一个简单的列表,其标题如下:

NavigationStack{
  List{
    Section{
      View()
    }header:{
       Text("Section Header")
     }
  }
}

当滚动列表时,标题会出现我讨厌的奇怪的半透明背景:

有没有办法根据配色方案使背景不半透明,只是深色或浅色?我尝试将部分背景设置为清晰或自定义颜色,但没有成功。

list swiftui header
1个回答
0
投票

您可以将

.background
应用于节标题的文本。

  • 为了使用所有可用空间,请使用
    maxWidth: .infinity, maxHeight: .infinity
    设置框架并删除列表行插入。
  • 添加前导填充以补偿删除的前导插入。
  • 要填充默认背景颜色,请使用矩形(或圆角矩形)并使用
    ShapeStyle
    .background
    进行填充。
Text("Section Header")
    .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .leading)
    .listRowInsets(.init(top: 0, leading: 0, bottom: 0, trailing: 0))
    .padding(.leading, 20)
    .background {
        RoundedRectangle(cornerRadius: 10)
            .fill(.background)
    }

Screenshot

© www.soinside.com 2019 - 2024. All rights reserved.