SwiftUI DragGesture阻止列表垂直滚动?

SwiftUI DragGesture阻止列表垂直滚动?,swiftui,Swiftui,我试图在列表单元格中添加滑动,滑动以显示更多选项,如删除、存档等 滑动操作正常,但列表(垂直滚动)不再上下滚动 细胞咬合: import SwiftUI struct cl_task: View { @State private var offset: CGSize = .zero var body: some View { //Swipe to custom options ,by "Jack" this optio

我试图在列表单元格中添加滑动,滑动以显示更多选项,如删除、存档等

滑动操作正常,但列表(垂直滚动)不再上下滚动

细胞咬合:

import SwiftUI

struct cl_task: View {
    @State private var offset: CGSize = .zero
  
    var body: some View {
        
        //Swipe to custom options ,by "Jack" this option not yet available in SwiftUI
        let drag = DragGesture(minimumDistance: 0, coordinateSpace: .local)
       
                   .onChanged {
                    
                    if (self.offset.width > 0 ){  return }
                    self.offset.width = $0.translation.width
                
                   }.onEnded {
                   if $0.translation.width < -100 {
                       self.offset = .init(width: -100, height: 0)
                   } else {
                      self.offset = .zero
                   }
               }
        ZStack{
            Rectangle().foregroundColor(.blue).offset(x: offset.width, y: offset.height)
                .gesture(drag)
                .animation(.easeIn, value: offset)
            Text("test").foregroundColor(.white)
        }.frame(minWidth: 0,
                maxWidth: .infinity,
                minHeight: 100,
                maxHeight: .infinity,
                alignment: .topLeading
        )
        
    }
}

struct cl_task_Previews: PreviewProvider {
    static var previews: some View {
        cl_task().previewLayout(.sizeThatFits)
    }
}

在花了几个小时解决这个问题后,我发布了我的问题,因为我是SwiftUI新手,有什么建议可以解决吗?

解决方案是为滑动提供不同的距离,如下所示

struct cl_task: View {
    @State private var offset: CGSize = .zero

    var body: some View {

        // give 25 distance makes vertical scroll enabled !!
        let drag = DragGesture(minimumDistance: 25, coordinateSpace: .local)

                   .onChanged {

使用Xcode 12.4/iOS 14.4进行测试


也许可以尝试
。同时手势(拖动)
我也尝试过同样的问题:/great所有的工作都很好,但是我能做些什么来移除左右填充吗?全屏显示列表
struct cl_task: View {
    @State private var offset: CGSize = .zero

    var body: some View {

        // give 25 distance makes vertical scroll enabled !!
        let drag = DragGesture(minimumDistance: 25, coordinateSpace: .local)

                   .onChanged {