SwiftUI 列表顶部和底部的不同背景颜色

时间:2021-06-27 04:02:35

标签: ios swift list swiftui

我想为列表的顶部和底部设置不同的背景颜色。

当我使用 UIKIT 时,我喜欢这个 link

现在我使用 SwiftUI。我不知道我该怎么做..

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以在标题中添加 UIView。我发现 400 的高度足以覆盖下拉而不会看到顶部边缘。

 var body: some View {
        
        NavigationView {
            
            List(data, id: \.self) { data in
                Text("\(data)")
            }
            .onAppear {
                let headerView = UIView(frame: CGRect(x: 0, y: -400, width: UIScreen.main.bounds.width, height: 400.0))
                headerView.backgroundColor = .lightGray
                UITableView.appearance().addSubview(headerView)
            }
            .navigationBarTitle("Title", displayMode: .inline)
        }
    }

enter image description here


如果您想在列表下方使用不同的背景颜色,请添加另一个 UIView 以更改背景视图:

let backgroundView = UIView()
backgroundView.backgroundColor = .black
UITableView.appearance().backgroundView = backgroundView

enter image description here