SwiftUI:关闭后列表数据消失 sheet
SwiftUI: List data dissapears after you dismiss sheet
我有一个水平图像列表。导航栏中还有一个 profile/settings 小按钮。当您单击个人资料按钮时,sheet 视图会向上滑动,当您关闭它时,列表似乎会丢失它的单元格(基本上是其他图像的 HStacks)
这是显示 sheet 和列表
的代码
var body: some View {
NavigationView {
List {
ForEach(0..<self.categories.count) {
ExploreRow(title: self.categories[[=11=]])
}
}
.navigationBarTitle("Justview")
.navigationBarItems(trailing: profileButton)
.sheet(isPresented: self.$showingProfile) {
Text("User Profile: \(self.userData.userProfile.username)")
}
}
}
ExploreRow
本质上是滚动视图中的水平堆栈,显示从网络加载的图像。
之前 Sheet 图片:
Sheet 关闭图片后:
我假设 List
中的 categories
不多(因为它们不应该很多),所以最简单的就是强制重建列表(假设你没有做任何沉重的事情在 ExploreRow.init
中,喜欢
List {
ForEach(0..<self.categories.count) {
ExploreRow(title: self.categories[[=10=]])
}.id(UUID())
}
.navigationBarTitle("Justview")
*问题是由于 List 的缓存重用行视图引起的,这是已知的。
我有一个水平图像列表。导航栏中还有一个 profile/settings 小按钮。当您单击个人资料按钮时,sheet 视图会向上滑动,当您关闭它时,列表似乎会丢失它的单元格(基本上是其他图像的 HStacks)
这是显示 sheet 和列表
的代码 var body: some View {
NavigationView {
List {
ForEach(0..<self.categories.count) {
ExploreRow(title: self.categories[[=11=]])
}
}
.navigationBarTitle("Justview")
.navigationBarItems(trailing: profileButton)
.sheet(isPresented: self.$showingProfile) {
Text("User Profile: \(self.userData.userProfile.username)")
}
}
}
ExploreRow
本质上是滚动视图中的水平堆栈,显示从网络加载的图像。
之前 Sheet 图片:
Sheet 关闭图片后:
我假设 List
中的 categories
不多(因为它们不应该很多),所以最简单的就是强制重建列表(假设你没有做任何沉重的事情在 ExploreRow.init
中,喜欢
List {
ForEach(0..<self.categories.count) {
ExploreRow(title: self.categories[[=10=]])
}.id(UUID())
}
.navigationBarTitle("Justview")
*问题是由于 List 的缓存重用行视图引起的,这是已知的。