如何在swiftUI视图中使用按钮?

时间:2020-04-24 18:05:43

标签: button swiftui

如何在swiftUI视图中使用按钮?该视图将仅包含按钮和一些文本。当点击按钮时,它将执行一个功能,该功能将更改文本中的单词,然后等待另一个按钮的点击并重复。我可以使用UIKit轻松地完成此操作,但使用swiftUI时,Button的参与似乎比我预期的要多。

1 个答案:

答案 0 :(得分:1)

因此,您可以使用的方法是创建可在许多视图上使用的自定义按钮。

/// Custom button that can be used in any view
struct CustomButton: View {

  // This is the custom method called from other views
  var action: () -> ()

  var body: some View {
    VStack {
      Button(action: { self.action() }) {
        Text("Tap me")
      }
    }
  }
}

然后,您可以在主视图上以这种方式使用它,例如更改文本。您可以在changeMyText方法中添加所需的任何内容。

// Your main view
struct ContentView: View {

  // Keep track of the change of a tap
  @State private var buttonTapped = false

  var body: some View {
    VStack(spacing: 50) {

      Text(buttonTapped ? "My second Text" : "My first text")

      // Declare your custom button with desired functions
      CustomButton(action: { self.changeMytext() })
    }
  }

  // Method where you perform whatever you need
  func changeMytext() {
    self.buttonTapped.toggle()
  }
}