我有一个User
数组,我的目标是构建类似Tinder的东西。这样用户可以向右或向左滑动,但是我在手势上失败了,该卡不会移动。
import SwiftUI
struct ContentView: View {
var users: [User] = [
User(id: "1", imageName: "Card2", position: CGSize.zero),
User(id: "2", imageName: "Card3", position: CGSize.zero),
User(id: "3", imageName: "Card4", position: CGSize.zero)
]
var body: some View {
ZStack {
ForEach(users, id: \.imageName) { user in
CardView(imageName: user.imageName, position: user.position)
.offset(x: user.position.width, y: user.position.height)
.animation(.spring(response: 0.3, dampingFraction: 0.6, blendDuration: 0))
.gesture(
DragGesture()
.onChanged { value in
user.position = value.translation
}
.onEnded { value in
user.position = .zero
}
)
}
}
}
}
这是用户结构
struct User: Identifiable {
var id: String
var imageName: String
@State var position: CGSize
}
卡,当我尝试移动它时不会移动。