我尝试制作一个 SWIFTUI 视图,通过使用gesture() 方法允许卡进行类似刷卡的操作。但我无法找到一种方法来使视图一个接一个地滑动。目前,当我滑动时,所有视图都消失了
import SwiftUI
struct EventView: View {
@State private var offset: CGSize = .zero
@ObservedObject var randomView: EventViewModel
var body: some View {
ZStack{
ForEach(randomView.randomViews,id:\.id){ view in
view
.background(Color.randomColor)
.cornerRadius(8)
.shadow(radius: 10)
.padding()
.offset(x: self.offset.width, y: self.offset.height)
.gesture(
DragGesture()
.onChanged { self.offset = $0.translation }
.onEnded {
if $0.translation.width < -100 {
self.offset = .init(width: -1000, height: 0)
} else if $0.translation.width > 100 {
self.offset = .init(width: 1000, height: 0)
} else {
self.offset = .zero …Run Code Online (Sandbox Code Playgroud)