swiftui - 如何在 SwiftUI 按钮中使用布尔值?
问题描述
我想改变 bool 的结果Enabled
,但不知道该怎么做。
我需要 bool 来启用/禁用另一个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'
解决方案
如评论中所述,按照惯例,变量应以小写字母开头,类型(类、枚举、结构)应以大写字母开头。
此外,您的代码应该放在闭包内。
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 >")
}
}
}
}
推荐阅读
- r - 在处理的参数上定义默认的 R 函数参数
- java - JPA mongo,从 List 中获取许多
- shell - 如何将在 putty 中执行的 shell 脚本的值存储到 Jenkins groovy 管道中的变量中?
- android - Kotlin 协程调度器类似于 Default 但没有主 (UI) 线程
- java - 尝试调用其他函数时,paintComponent 被调用了两次
- amazon-web-services - 如何使用 terraform 向 Elastic Beanstalk 环境创建的负载均衡器添加警报?
- c# - 如何以编程方式从另一个 .Net 项目启动和停止 .NetCore API Server 项目;在这种情况下,控制台应用程序?
- java - 如何使用 Java Stream 根据输入文件中的字符将对象添加到二维数组
- c# - 为什么在完成异步任务之前调用 Dispose?
- git - 如何从多个远程仓库覆盖本地仓库?