如果列表滚动,为什么选定的行会变为未选中(见图)?Xcode 12.2。iOS 14.2。
我还收到一条控制台消息:
[Assert] 尝试在 table view 更新其可见单元格的过程中调用 -cellForRowAtIndexPath: ,这是不允许的。
更新
这似乎是 iOS 14.2 的错误。我下载了 iOS 14.1 版本的模拟器,一切正常。
import SwiftUI
struct ContentView: View {
@State private var selectedRows = Set<String>()
var items = ["item1", "item2", "item3", "item4","item5","item6","item7","item8","item9","item10","item11","item12","item13","item14","item15","item16","item17","item18","item19","item20","item21","item22"]
var body: some View {
NavigationView {
List(selection: $selectedRows) {
ForEach(items, id: \.self) { item in
Text(item)
}
}
.listStyle(InsetGroupedListStyle())
.environment(\.editMode, Binding.constant(.active))
}
}
}