如何解决Swiftui切换未触发
我用一个带有文本和切换的简单vstack创建了一个简单的swiftui视图。我无法理解如何触发切换的更改,因为我开发的方法无法正常工作。
这是代码
struct SquadMemberDetailView: View {
@State var admin = false
var body: some View {
VStack(alignment: .leading) {
Text("Amministratore")
.font(.body)
.foregroundColor(Color("DarkGray"))
.padding([.top,.leading,.trailing])
Toggle(isOn: $admin){
}
.onTapGesture(perform: {
self.admin = !self.admin
manageToggle()
})
.labelsHidden()
.padding(.horizontal)
}
}
}
切换切换状态时,永远不会调用onTapGesture方法。
有什么主意吗?
谢谢
解决方法
切换键本身会改变绑定变量,因此您不应该手动执行此操作,所以我相信您想要类似的东西
SwiftUI 2.0 +:
Toggle("",isOn: $admin)
.onChange(of: admin) { _ in
manageToggle()
}
.labelsHidden()
.padding(.horizontal)
SwiftUI 1.0:
import Combine
...
Toggle("",isOn: $admin)
.onReceive(Just(admin)) { _ in
manageToggle()
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。