swift - 每次单击按钮时,SwiftUI 在 2 个文本之间切换
问题描述
我正在使用 Xcode 和 SwiftUI 编写应用程序并遇到以下问题:当我按下按钮时,一些 TextViews 应该如下所示:
@State var showAnswer = false
Button (action: {
self.showAnswer = true
}
if self.showAnswer {
VStack(spacing: 20) {
Text("example")
...
Text("example")
}
我的问题是,如何在“example”和“example_two”之间的每次点击中进行更改。所以当我点击按钮“example”应该出现,当我下次点击它时,它应该是“example_two”。第三次单击将再次成为“示例”。我怎样才能做到这一点?
解决方案
你可以这样做:
@State var showAnswer = false
@State var toggleText = false
Button (action: {
self.showAnswer = true
self.toggleText.toggle()
}
if self.showAnswer {
VStack(spacing: 20) {
Text(toggleText ? "example" : "example_two")
...
Text(toggleText ? "example_two" : "example")
}
按下后button
,它触发toggleText
,触发UI刷新
推荐阅读
- javascript - 使用视频源作为画布视频轨道的 OpenTok 问题 - Google Chrome 66
- javascript - Angular 5 Rxjs Subject.subscribe() 未在多个组件中触发
- python - 合并行以删除 CSV Python 和 Pandas 中的重复项
- azure - Azure Functions - 找不到文件
- javascript - ejs 和 nodejs 的引用错误
- python - Tensorflow:检查失败:NDIMS == new_sizes.size() (2 vs. 1)
- c# - 使用 ThreadPool 异步加载图像
- rest - HTTPie 无法识别 GET 请求的第二个参数
- mysql - 带有特定选项的 MySQL 随机
- android - 最近的firebase,播放服务库中断构建:发现多个文件具有操作系统独立路径“google/protobuf/api.proto”