SwiftUI:关闭工作表后,列表数据消失

时间:2020-03-20 14:29:05

标签: ios swift listview swiftui reload

我有一个水平图像列表。在导航栏中还有一个小的配置文件/设置按钮。单击配置文件按钮时,工作表视图会向上滑动,而将其关闭时,列表似乎会丢失其单元格(基本上是其他图像的堆栈)

这是显示工作表和列表的代码

    var body: some View {
        NavigationView {
            List {
                ForEach(0..<self.categories.count) {
                    ExploreRow(title: self.categories[$0])
                }
            }
            .navigationBarTitle("Justview")
            .navigationBarItems(trailing: profileButton)
            .sheet(isPresented: self.$showingProfile) {
                Text("User Profile: \(self.userData.userProfile.username)")
            }
        }
    }

ExploreRow本质上是滚动视图中的水平堆栈,用于显示从Web加载的图像。

在工作表图像之前:

enter image description here

工作表关闭图像后:

enter image description here

1 个答案:

答案 0 :(得分:0)

我假设categories中的List并不多(应该不多),所以最简单的就是强制重建列表(假设您在{ {1}},例如

ExploreRow.init

*该问题是由于List的缓存重用行视图所致。