隐藏部分分隔符时不显示行分隔符

Row separators not showing when section separators hidden

listRowSeparatorlistSectionSeparator 的组合为 hidden 时,将项目追加到列表末尾时不会显示列表行分隔符。

这是一个重现问题的简单示例:

import SwiftUI

struct Item: Identifiable {
    let id: Int
    let text: String
}

struct ContentView: View {
    @State var items: [Item] = []
    var body: some View {
        VStack {
            Button {
                items.append(Item(id: items.count, text: "\(items.count)"))
            } label: {
                Text("Append")
            }
            List {
                Section {
                    ForEach(items) { item in
                        Text(item.text)
                            .listRowSeparator(.visible)
                            .listRowSeparatorTint(Color.red)
                    }
                }
                // Comment out this for row separators to work
                .listSectionSeparator(.hidden, edges: .all)
            }
            .listStyle(.plain)
        }
    }
}

这发生在 iOS 15,仅当使用普通列表样式时,并且仅当附加到列表末尾时。

我是不是做错了什么,或者这个问题有解决方法吗?

看起来像一个 SwiftUI 错误,下面的组合可以被视为解决方法

Section {
    ForEach(items) { item in
        Text(item.text)
            .listRowSeparatorTint(Color.red)
                     .listRowSeparator(.visible, edges: .bottom)
    }
}
.listSectionSeparator(.hidden, edges: .top)

,给出