首页 > 解决方案 > @FetchRequest 与 LazyVStack 和改变高度导致重叠视图

问题描述

我有一个视图,其中包含一个ScrollView作为LazyVStack实体列表的 a。实体来自@FetchRequest.

总之:

ScrollView {
  LazyVStack {
    ForEach(entities) { entity in
      MyEntityView(entity)
    }
  }
}

现在,可以在视图可见时从后台进程更改实体之一。以便 MyEntityView 重绘并可能在此过程中更改其高度。尽管我确实看到了MyEntityView更改,但有时视图视图开始在列表中重叠。似乎子视图重新渲染,但现在需要请求新高度,但列表视图不会移动它周围的项目以适应新高度。这个怎么可能?@FetchRequest当获取的集合中的项目发生变化时,视图不会失效吗?

由于它只是偶尔发生(tm),因此似乎很难调试。什么会导致上述类似列表的构造中的重叠视图?

标签: iosswiftswiftui

解决方案


推荐阅读