iOS SwfitUI 设置列表而不是单元格的背景图像

Uni*_*i_x 4 ios swift swiftui swiftui-list swiftui-navigationlink

我试图为我的 ListView 提供一个背景图像,该图像不应适用于每个单元格。因此整个视图只需一张图像。我尝试添加.background(Image("nameOfImage))为列表修饰符但没有执行任何操作。

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

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

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

Moj*_*ini 5

它做到了这一点,但重点是UITableView并且UITableViewCell有默认的白色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"))
        }
    }
}

Run Code Online (Sandbox Code Playgroud)

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