在 SwiftUI 中,如何更改 List 堆叠行的方式?

Posted

技术标签:

【中文标题】在 SwiftUI 中,如何更改 List 堆叠行的方式?【英文标题】:In SwiftUI, How can I change the way List stack the row? 【发布时间】:2020-04-15 03:08:04 【问题描述】:

默认的 SwiftUI List 按时间堆叠行,这导致最近创建的行位于列表的末尾。

相反,我希望最近创建的行位于最前面,即列表的第一行。

有没有办法做到这一点?

【问题讨论】:

【参考方案1】:

您可以反转List,以便将最新数据存储在顶部。

这是一个带有button 的示例,因此您可以向List 添加元素并对其进行测试。

struct ContentView: View 
    @State var dataStore = [0, 1, 2]

    var body: some View 
        VStack 
            List(dataStore.reversed(), id: \.self)  data in
                Text(String(data))
            

            Button(action: 
                self.dataStore += [self.dataStore.count]
            ) 
                Text("Insert to list")
            
        .listStyle(GroupedListStyle())
    

【讨论】:

以上是关于在 SwiftUI 中,如何更改 List 堆叠行的方式?的主要内容,如果未能解决你的问题,请参考以下文章

使用 NavigationView 和 List 时如何更改 SwiftUI 中的背景颜色?

如何缩放 SwiftUI 列表行高以匹配列表的宽度

如何在 SwiftUI 列表中获取行索引?

SwiftUI 中列表行(List Row)展开和收起无动画或动画诡异的解决

SwiftUI 中列表行(List Row)展开和收起无动画或动画诡异的解决

如何在 SwiftUI 中使整个列表行成为 NavigationLink