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 {