SwiftUI 状态下的问题(视图不更新)

时间:2020-12-29 01:48:14

标签: ios swift swiftui

我正在尝试隐藏和显示图像。

我可以选择图像然后隐藏,但它们保持选中状态,如果我退出视图并返回,它们不会被选中。

当我隐藏图像时,结果是:

enter image description here

红色图像是隐藏和选择的,我的目标是将它们隐藏但取消选择,如下所示:

enter image description here

我的代码是:

conn.request("GET", "/hashtag/feed?hashtag=" + hashtag +'&end-cursor=' + cursor, headers=headers)

如果我删除 struct DemoView: View { //ObservedObject @ObservedObject var imgGroup:ImageGroup //State Vars @State var selectImagens:[MYImage] = [] @State var selectMode = false @State var showHidden = false var body: some View { VStack{ ScrollView(.vertical) { LazyVGrid(columns: Processing.row) { Section(header: Button("btn"){ self.showHidden.toggle() } ) { ForEach(imgGroup.cd_xImages?.array as! [MYImage] ){ img in ZStack{ if self.selectImagens.contains(img){ SelectedItens() .zIndex(1) .onTapGesture { print( self.selectImagens.count) self.selectImagens.remove(at: self.selectImagens.firstIndex(of: img)!) } } NavigationLink( destination: Text(""), label: { ImageListItem(item: img, showInfos: false) }) .disabled(selectMode) .onTapGesture { self.selectImagens.add(img) } } } if self.showHidden { ForEach(imgGroup.cd_hiddenImagens?.array as! [MYImage] ){ img in ZStack{ if self.selectImagens.contains(img){ SelectedItens() .zIndex(1) .onTapGesture { self.selectImagens.remove(at: self.selectImagens.firstIndex(of: img)!) } } NavigationLink( destination: Text(""), label: { ImageListItem(item: img, showInfos: false, alpha: 0.8) }) .disabled(selectMode) .onTapGesture { self.selectImagens.add(img) } } } } } } } HStack{ //Hide Button(action: { if self.selectImagens.count > 0{ self.selectImagens.forEach { (img) in self.imgGroup.hidde(imagem: img) } self.selectMode.toggle() } self.selectImagens = [] }, label: { Image(systemName: "eye.slash.fill") }) .padding(15) }// main VStack } }} ,图像将被取消选择。

隐藏功能是

self.imgGroup.hidde(imagem: img)

我正在使用核心数据。

我不知道是什么导致了这种情况。

0 个答案:

没有答案