I'm trying to use SwiftUI to make it so that if I tap a circle, or image, or something of the sort, it will be offset to a certain location, and if I tap again, it will go back to the location, and toggle back and forwards likewise. I found a tutorial that taught me how to toggle a background color. https://www.ioscreator.com/tutorials/swiftui-gesture-tutorial. If you didn't bother to read it, essentially the code is like this:
struct ContentView: View {
// 1.
@State private var didTap: Bool = false
var body: some View {
// 2.
Text("Tap me")
.frame(minWidth:0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)
// 3.
.gesture(TapGesture()
.onEnded {
self.didTap.toggle()
}
)
// 4.
.background(didTap ? Color.blue : Color.red)
}
}
I changed the
Text("Tap me")
.frame(minWidth:0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)
to
Circle()
.frame(width: 100, height: 100)
.foregroundColor(Color.red)
I was wondering if there was a way to make it so instead of the .background(didTap ? Color.blue : Color.red) I could incorporate the TapGesture boolean variable into a .offset(x: __, y: __)
somehow.