如何更改 SwiftUI 和 iOS 14 中的单元格背景颜色?
Posted
技术标签:
【中文标题】如何更改 SwiftUI 和 iOS 14 中的单元格背景颜色?【英文标题】:How do I change the cell backgroundcolor in SwiftUI and iOS 14? 【发布时间】:2020-10-01 00:41:49 【问题描述】:在我的 ios 应用程序中,我有 SwiftUI 列表。在 iOS 14 之前,将其放入 AppDelegate 可以改变单元格的背景颜色:
UITableViewCell.appearance().backgroundColor = .black
在 iOS 14 之后,这不再改变颜色,它已恢复为默认的白色。
这也不起作用:
UITableViewCell.appearance().backgroundConfiguration?.backgroundColor = .black
在 iOS 14 的 SwiftUI 中是否有另一种方法可以更改 UITableViewCell 的颜色?
【问题讨论】:
【参考方案1】:您需要对单元格使用 listRowBackground 修饰符,并且仍然可以为整个表格视图背景使用外观,如下例所示
使用 Xcode 12 / iOS 14 测试
init()
UITableView.appearance().backgroundColor = UIColor.yellow
var body: some View
List
ForEach(0..<5, id: \.self)
Text("Hello \($0)").foregroundColor(.blue)
.listRowBackground(Color.black)
【讨论】:
这成功了!有没有办法改变分隔符的颜色?以上是关于如何更改 SwiftUI 和 iOS 14 中的单元格背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在 SwiftUI 中更改列表的背景颜色? 2020 (iOS 14)
iOS 14,Swift UI 2 更改 NavigationLink 内选定列表项的背景颜色
如何在 Xcode 12 的新 SwiftUI App 生命周期中更改 window.rootViewController?