每次单击按钮时,SwiftUI 在 2 个文本之间切换

Posted

技术标签:

【中文标题】每次单击按钮时,SwiftUI 在 2 个文本之间切换【英文标题】:SwiftUI change between 2 texts every time when a button is clicked 【发布时间】:2021-02-23 09:41:04 【问题描述】:

我正在使用 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”。第三次单击将再次成为“示例”。 我该怎么做?

【问题讨论】:

你的问题和代码不清楚。请添加正确的代码以及要更改按钮标题文本或按钮外部的文本? 【参考方案1】:

你可以这样做:

@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刷新

【讨论】:

以上是关于每次单击按钮时,SwiftUI 在 2 个文本之间切换的主要内容,如果未能解决你的问题,请参考以下文章

如何在按钮单击时在 SwiftUI 中为 TextField 设置文本

当我们在文本和图像之间切换按钮内容时,如何停止 SwiftUI 更改固定填充?

每次单击按钮时都在提交表单

更改布尔值时无法在 SwiftUI 中更改按钮文本

SwiftUI 在按钮上触发操作而无需用户单击按钮

MS ACcess 使文本框在按钮单击时可见