SwiftUI:导航链接在滚动视图中不起作用

Ash*_*ish 5 listview scrollview ios swiftui xcode11

我已经在 List 中嵌套了一个 ScrollView 并且该 ScrollView 包含一个 NavigationLink,当用户点击链接时,链接不会导航到目的地。

var body: some View {

    NavigationView {
            List {

                HeaderSection()
                VStack(alignment: .leading) {
                    Text(title.explore)
                        .font(.custom(App.fontBold, size: 21.0))
                        .fontWeight(.medium)
                        .foregroundColor(.white)
                        .padding(.top, 5.0)
                        .padding(.bottom, 5.0)
                        ScrollView(.horizontal, showsIndicators: false) {
                             HStack {
                                ForEach(self.viewModel.photos) { photo in
                                    NavigationLink(destination: ExploreDetails(photo: photo)) {
                                        ExploreView(photo: photo)
                                    }
                                 }
                            }
                        }
                }

                ForEach(viewModel.photos) { photo in
                        ImageRow(photo: photo)
                            .onTapGesture {
                                self.showModal.toggle()
                                self.selectedPhoto = photo
                        }

                }.listRowInsets(EdgeInsets())

            }
            .navigationBarItems(trailing: profileButton)
            .edgesIgnoringSafeArea(.vertical)
            .sheet(isPresented: self.$showModal, onDismiss:{ print("dissmiss")} ) {
               ContentDetailsView(photo: self.selectedPhoto!)
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

在列表中嵌套 ScrollView 时如何导航?

sup*_*cio 2

如果您使用的是 Xcode 11 beta 6,那么它\xe2\x80\x99 是一个错误。如果您访问本教程https://developer.apple.com/tutorials/swiftui/composition-complex-interfaces(基本上解释了如何做与您尝试做的事情完全相同的事情)并且向下滚动,您可以阅读:

\n\n
\n

笔记

\n\n

在 Xcode 11 beta 6 中,如果您将 ScrollView 嵌套在 List 中并且 ScrollView 包含 NavigationLink,则当用户点击时,链接将不会导航到目的地。

\n
\n

  • Xcode 11(release)版本似乎仍然有这个问题 (2认同)