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

时间:2020-04-25 13:52:26

标签: 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"))
}

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

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

1 个答案:

答案 0 :(得分:2)

这样做确实可行,但要点是UITableViewUITableViewCell具有默认的白色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"))
        }
    }
}

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