有没有办法让一个按钮在SwiftUI中运行多个功能?

时间:2019-12-10 19:28:30

标签: swift button swiftui

我正在尝试让一个按钮执行注销,并通过一个按钮将布尔值更改为false。在SwiftUI中有什么方法可以做到吗?

Button(action: GIDSignIn.sharedInstance()!.signOut, self.settings.settingsView.toggle()) {
           ZStack {
               Rectangle()
                    .frame(width: 300, height: 50)
                    .cornerRadius(5)
                    .foregroundColor(Color(.systemGray))
               Text("Sign Out")
                    .foregroundColor(.primary)
                     .font(Font.system(size: 25))
                        }
                   }

1 个答案:

答案 0 :(得分:1)

您不必执行传递多个参数到action中的操作,而只需执行闭包并让其执行所需的任何事情即可。看起来更像这样:

Button(action: {
    GIDSignIn.sharedInstance()!.signOut
    self.settings.settingsView.toggle()
}) {
    ZStack {
        Rectangle()
             .frame(width: 300, height: 50)
             .cornerRadius(5)
             .foregroundColor(Color(.systemGray))
        Text("Sign Out")
             .foregroundColor(.primary)
             .font(Font.system(size: 25))
     }
}