我在 SwiftUI 中实现了一个垂直的 ScrollView,然后给每行水平拖动手势。以某种方式实现这一点会在拖动行内(以查看列表的其余部分)时停止 ScrollView 拖动,我尝试用 List 替换 ScrollView 但问题仍然存在。
这是代码:
struct MyView: View {
var MyArray: [String] = ["Foo", "bar","foobar"]
var body: some View {
ScrollView{
ForEach(MyArray, id:\.self)
{ _ in
Cell()
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
细胞:
struct Cell: View{
@State var draggedOffset = CGSize.zero
var body: some View {
HStack {
Text("Test")
}.animation(.linear)
.offset(x: self.draggedOffset.width)
.gesture(DragGesture()
.onChanged{ value in
self.draggedOffset.width = value.translation.width
}
.onEnded { value in
self.draggedOffset = CGSize.zero
})
}
}
Run Code Online (Sandbox Code Playgroud)