轻按视图时如何切换SwiftUI切换?

时间:2020-08-11 14:16:19

标签: swift swiftui

我想在点击视图时切换Toggle。现在,我有以下代码并且可以正常工作,尽管Toggle并没有为过渡设置动画。我该怎么办?

import SwiftUI

struct ContentView: View {
    
    @State private var toggle = false
    
    var body: some View {
        VStack {
            Toggle(isOn: $toggle) {
                Text("Hello World")
            }
        }.onTapGesture {
            print("Tapped!")
            self.toggle.toggle()
        }
    }
}

我还尝试过将self.toggle.toggle()线包裹在DispatchQueue.main.asynch周围,但这并没有改变。

1 个答案:

答案 0 :(得分:1)

通过以下动画制作

}
// .contentShape(Rectangle())    // << add to make full-area tappable
.onTapGesture {
    print("Tapped!")
    withAnimation {
        self.toggle.toggle()
    }
}