我在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()
}
}
}
}
单元格:
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
})
}
}