每次单击按钮时,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 个文本之间切换的主要内容,如果未能解决你的问题,请参考以下文章