提问者:小点点

在Xcode watch应用程序上点击时如何更改图像?


当图像被点击时,我如何改变它?

这是我的第一个iOS应用,更别说手表应用了。我正在尝试构建一个简单的应用程序,当我点击图像时,它应该会变成下一个图像。到目前为止,我已经这样做了,第一个图像(test1)正在显示,但当我点击它时,什么也没有发生。

//  test WatchKit Extension
//
//  Created by Gokul on 15/04/21.
//

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构建一个应用程序。


共1个答案

匿名用户

您需要使用@state:

struct ContentView: View {
    @State var imgIndex:Int = 1

    var body: some View {

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