繁体   English   中英

如何在点击视图时切换 SwiftUI 切换?

[英]How do I toggle a SwiftUI toggle when a view is tapped?

我想在点击视图时切换 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周围,但这并没有改变任何东西。

使用 animation 如下所示

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM