在 SwiftUI 中点击 watchOS 应用程序时如何更改图像

How do I change image when tapped on it watchOS app in SwiftUI

如何在点击时更改图像?

这是我的第一个 iOS 应用程序,更不用说手表应用程序了。我正在尝试构建一个简单的应用程序,当我点击图像时,它应该会切换到下一个图像。到目前为止我已经完成了这个,第一张图片 (test1) 正在显示,但是当我点击它时,没有任何反应。


import SwiftUI

struct ContentView: View {

  var body: some View {
    var imgIndex: Int = 1
    Image("test\(imgIndex)")
      .resizable(resizingMode: .stretch)
      .onTapGesture {
        imgIndex = 2
      }
  }
}

struct ContentView_Previews: PreviewProvider {
  static var previews: some View {
    ContentView()
  }
}

仅供参考,我正在为 Apple Watch 构建一个应用程序。

您需要使用@State:

struct ContentView: View {

  @State private var imgIndex: Int = 1

  var body: some View {
    
    Image("test\(imgIndex)")
      .resizable(resizingMode: .stretch)
      .onTapGesture {
        imgIndex = 2
      }
  }
}