如何在SwiftUI按钮中使用布尔值?

时间:2019-09-05 11:21:40

标签: swiftui

我想更改布尔Enabled的结果,但不知道该怎么做。

我需要布尔功能来启用/禁用另一个UIViewRepresentable中的功能。

代码:

import SwiftUI

var Enable = true

struct ContentView: View {

      @State private var Route = false

    var body: some View {

        VStack{

        Button(action: {
                       self.Route.toggle()
                       }) {
                       Text("Route >")
                   }

                   if Route {

                       Enable = false
                  }

          }

    }
}

如果我使用此代码,则会显示错误:

  

Argument type '()' does not conform to expected type 'View'

1 个答案:

答案 0 :(得分:0)

如评论中所述,按照惯例,变量应以小写字母开头,类型(类,枚举,结构)应以大写字母开头。

此外,您的代码应放在闭包内。

var enable = true

struct ContentView: View {

    @State private var route = false

    var body: some View {

        VStack{

            Button(action: {
                self.route.toggle()
                if self.route { enable = false }
            }) {
                Text("Route >")
            }
        }
    }
}