iOS SwiftUI为列表而不是单元格设置背景图像
Posted
技术标签:
【中文标题】iOS SwiftUI为列表而不是单元格设置背景图像【英文标题】:iOS SwfitUI set background image for list not cell 【发布时间】:2020-04-25 13:52:26 【问题描述】:我正在尝试为我的 ListView 提供一个不应该适用于每个单元格的背景图像。所以整个视图只有一张图像。
我试图将.background(Image("nameOfImage))
添加为列表修饰符,但没有做任何事情。
NavigationView
List(elements) element in
NavigationLink(destination: NextView)
Text(element.name)
Image(element.image)
.background(Image("nameOfImage"))
我也尝试过 ZStack,但我认为列表覆盖了我的图像
那么如何将图像作为列表背景或视图背景(上面的代码是整个视图)
【问题讨论】:
如果这是针对 macOS 的帖子SwiftUI background color of List Mac OS 可能会有所帮助。 【参考方案1】:它做到了,但关键是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"))
请注意,我已经简化了我的答案,使其独立于您项目的其他部分
【讨论】:
谢谢,但由于我还是 ios 编程的初学者,所以我像你一样尝试过。但这产生了两个我无法删除的错误:Closure containing a declaration cannot be used with function builder 'ViewBuilder'
和 Initializers may only be declared within a type
对不起,我的错。我在手机上,在这里写代码有点困难 :) 我已经更新了 mu 答案
在你给我看之前我也试过了,但我遇到了另一个错误:Return from initializer without initializing all stored properties
你能再帮我一次吗?不明白
这与我朋友的问题无关。您可能忘记为所有存储的属性赋值。我已经简化了我的答案,使其独立于您项目的其他部分,并使其成为一个工作示例。
这已经让我发疯了三天。我到处搜索。似乎比应该做的要难得多。有多少人会想到关闭 UI...谢谢您的回答。以上是关于iOS SwiftUI为列表而不是单元格设置背景图像的主要内容,如果未能解决你的问题,请参考以下文章