SwiftUI:仅更改 UITableViewAppearance 的一个实例
Posted
技术标签:
【中文标题】SwiftUI:仅更改 UITableViewAppearance 的一个实例【英文标题】:SwiftUI: Change only one instance of UITableViewAppearance 【发布时间】:2020-07-29 16:38:27 【问题描述】:我知道组件List
后面有一个UITableView
。我也知道我可以通过更改UITableView.appearance().backgroundColor
来更改背景。
我想要为具有List
组件的单个View
更改此设置,而不会影响应用程序的其余部分。这可能吗?如果有,怎么做?
谢谢!
【问题讨论】:
【参考方案1】:这是我知道实现这一目标需要做的事情:
var body: some View
List
//Your content
.onAppear
//The specific table view settings.
//UITableView.appearance().separatorColor = .black
.onDisappear
//The general table view settings
//UITableView.appearance().separatorColor = nil
但这有几个原因。
最大的原因是您可能在同一个视图中有 2 个表视图,并且您希望它们具有不同的外观。
第二个问题是不是所有情况都会调用 onAppear(具体情况我不记得了,但我记得 TabViews 有问题)
希望下一版的 SwiftUI 已经有更好的解决方案在等待。
【讨论】:
以上是关于SwiftUI:仅更改 UITableViewAppearance 的一个实例的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI:如何从 ViewModel 的更改中切换警报演示者