首页 > 解决方案 > 每次单击按钮时,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”。第三次单击将再次成为“示例”。我怎样才能做到这一点?

标签: swiftbuttonswiftui

解决方案


你可以这样做:

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


推荐阅读