首页 > 解决方案 > ScrollView 与 NavigationLink 向后滑动手势冲突

问题描述

我有一个NavigationLink包含ScrollView主要显示联系人列表的视图。但是,ScrollView有时将用户的弹出手势注册为滚动手势,从而防止用户滑出NavigationLink视图。

一般结构如下:

struct ContentView: View {
    var body: some View {
        NavigationView {
            NavigationLink (destination: AnotherView()) {Text("enter")}
        }
    }
}

struct AnotherView: View {
    var body: some View {
        ScrollView {
            LazyVStack(alignment: .leading) {
             // ... a list of things
            }
        }
    }
}

无论如何要告诉ScrollView忽略水平方向的拖动手势,以便NavigationLink可以正确流畅地滑出?

标签: iosswiftswiftui

解决方案


我通过附加.gesture(DragGesture(minimumDistance: 20))到 my使其工作,ScrollView因此 pop 手势的NavigationView优先级高于ScrollView's 手势。


推荐阅读