如何着色/删除 SwiftUI 列表中最后一行和倒数第二行之间的分隔符?
Posted
技术标签:
【中文标题】如何着色/删除 SwiftUI 列表中最后一行和倒数第二行之间的分隔符?【英文标题】:How to color/remove the separator between last and second to last row in a SwiftUI List? 【发布时间】:2020-02-29 08:26:09 【问题描述】:我正在使用简单的 SwiftUI 列表,例如
List
Text("A")
Text("A")
Text("A")
我已经设法通过添加 UITableView.appearance().separatorColor = .clear
来删除标准分隔线,但是在最后一个元素和倒数第二个元素之间似乎还有另一个细长的浅灰色分隔线:
如何移除此分隔线或更改其颜色?
【问题讨论】:
【参考方案1】:我已经设法通过添加删除标准分隔符 UITableView.appearance().separatorColor = .clear
改为使用
UITableView.appearance().separatorStyle = .none
【讨论】:
这只会删除标准列表分隔符,而不是屏幕截图中显示的其他灰线。 @fasoh,使用提供的列表代码,我没有看到任何 additional 行,实际上它不会导致屏幕截图,所以您能否提供所有代码。 【参考方案2】:您可以将ScrollView
与ForEach
一起使用,而不是默认的List
。它将没有默认样式,您可以定义自己的样式。
struct ContentView: View
@State private var words = (1...50).map String($0)
var body: some View
GeometryReader geometry in
ScrollView
ForEach(self.words, id: \.self) word in
Text(word)
.frame(width: geometry.size.width)
【讨论】:
以上是关于如何着色/删除 SwiftUI 列表中最后一行和倒数第二行之间的分隔符?的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI + Realm:从列表中删除一行会导致异常“RLMException”,原因:“对象已被删除或失效。”