我已经将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时如何导航?
答案 0 :(得分:2)
如果您使用的是Xcode 11 beta 6,则是一个错误。如果您转到本教程https://developer.apple.com/tutorials/swiftui/composing-complex-interfaces(基本上说明了如何做与您尝试做的事情完全相同的事情)并且向下滚动,则可以阅读:
注意
在Xcode 11 beta 6中,如果将ScrollView嵌套在List和 ScrollView包含一个NavigationLink,链接将不会导航到 用户点击时的目的地。