隐藏部分分隔符时不显示行分隔符
Row separators not showing when section separators hidden
当 listRowSeparator
和 listSectionSeparator
的组合为 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)
,给出
当 listRowSeparator
和 listSectionSeparator
的组合为 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)
,给出