我正在尝试隐藏和显示图像。
我可以选择图像然后隐藏,但它们保持选中状态,如果我退出视图并返回,它们不会被选中。
当我隐藏图像时,结果是:
红色图像是隐藏和选择的,我的目标是将它们隐藏但取消选择,如下所示:
我的代码是:
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)
我正在使用核心数据。
我不知道是什么导致了这种情况。