显示和隐藏VStack中的所有内容



我有一个自定义的SwiftUI视图,其中在HStack中,我在两端有两个VStack

我需要每个都有自己的双击手势来显示和隐藏VStack中的项目。

以下是我尝试过的:

@State var displayRewind = false
VStack {
Image("rewind")
.frame(width: 74, height: 32, alignment: .center)
.foregroundColor(Color.white)
.opacity(self.displayRewind ? 1 : 0)
Text("x seconds")
.opacity(self.displayRewind ? 1 : 0)
}
.onTapGesture(count: 2) {
withAnimation {
displayRewind.toggle()
}

DispatchQueue.main.asyncAfter(deadline: .now()+1) {
withAnimation {
displayRewind.toggle()
}
}
}

现在有了这个,什么都没发生。如果我删除文本上的不透明度,我会看到文本,我可以双击以显示图像。

我们的目标是将这些东西一起展示和隐藏。

如果使用opacity=0,则会阻止tap事件。这是我在测试中使用的代码,使用不透明度=0.01:

VStack (spacing: 40) {
Image(systemName: "globe")
.frame(width: 74, height: 32, alignment: .center)
.foregroundColor(Color.blue)
Text("x seconds")
}
.opacity(displayRewind ? 1 : 0.01)
.onTapGesture(count: 2) {
withAnimation {
displayRewind.toggle()
}

DispatchQueue.main.asyncAfter(deadline: .now()+2) {
withAnimation {
displayRewind.toggle()
}
}
}

相关内容

  • 没有找到相关文章

最新更新