2

如果列表滚动,为什么选定的行会变为未选中(见图)?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))
            
        }
    }
}

选择单元格 向上滚动列表 向下滚动列表

4

0 回答 0