我有以下代码,它会根据
Binding<Bool>
部分显示或隐藏Test
视图。我可以将testVisible.toggle()
调用包装在withAnimation
中,但理想情况下,即使没有任何withAnimation
,我也希望确保visible
绑定始终具有动画效果。如何确保每次更改visible
绑定时都会进行动画处理?struct ContentView: View {
@State var testVisible: Bool = true
var body: some View {
ZStack {
Color.white
.onTapGesture {
testVisible.toggle()
}
Test(visible: $testVisible)
}
}
}
struct Test: View {
@Binding var visible: Bool
var body: some View {
Text("Test")
.opacity(visible ? 0.5 : 0)
}
}