首页 > 解决方案 > iOS SwfitUI为列表而不是单元格设置背景图像

问题描述

我试图给我的 ListView 一个不应该适用于每个单元格的背景图像。所以整个视图只有一张图像。我试图添加.background(Image("nameOfImage))为列表修饰符,但没有做任何事情。

NavigationView {
    List(elements) { element in 
        NavigationLink(destination: NextView) {
            Text(element.name)
            Image(element.image)
        }
    }.background(Image("nameOfImage"))
}

我也尝试过 ZStack 但我认为列表覆盖了我的图像

那么如何将图像作为列表背景或视图背景(上面的代码是整个视图)

标签: iosswiftswiftuiswiftui-listswiftui-navigationlink

解决方案


它做到了,但关键是它UITableView具有UITableViewCell默认的 white backgroundColor。您应该使它们透明以看穿。

就像是:

struct ContentView: View {

    init() {
        UITableView.appearance().backgroundColor = .clear // For tableView
        UITableViewCell.appearance().backgroundColor = .clear // For tableViewCell
    }

    var body: some View {
        NavigationView {
            List(0...10, id: \.self) { number in
                Text("\(number)")
            }.background(Image("BG"))
        }
    }
}

请注意,我已经简化了我的答案,使其独立于您项目的其他部分


推荐阅读