小编IMB*_*ack的帖子

带有手势行的 SwiftUI ScrollView 无法识别滚动

我在 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)

scrollview gesture drag ios swiftui

7
推荐指数
0
解决办法
3731
查看次数

标签 统计

drag ×1

gesture ×1

ios ×1

scrollview ×1

swiftui ×1