SwiftUI:导航链接在scrollView中不起作用

时间:2019-08-20 14:48:57

标签: ios listview scrollview swiftui xcode11

我已经将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!)
            }
    }
}

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

1 个答案:

答案 0 :(得分:2)

如果您使用的是Xcode 11 beta 6,则是一个错误。如果您转到本教程https://developer.apple.com/tutorials/swiftui/composing-complex-interfaces(基本上说明了如何做与您尝试做的事情完全相同的事情)并且向下滚动,则可以阅读:

  

注意

     

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