ios - NavigationLink 不适用于 SwiftUI 列表中的 ScrollView
问题描述
我正在尝试在列表中实现滚动视图的水平滚动。哪个工作正常。
但是,如果我将 NavigationLink 添加到每个 ScrollView 元素,则 NavigationView 似乎无法完成他的任务。
我已经添加了我的代码。请看看,让我知道,我错过了什么。
struct MovieHomeView: View {
@ObservedObject var moviesDataSource: MoviesHomeViewModel = MoviesHomeViewModel()
var body: some View {
NavigationView {
VStack {
HeaderView()
.frame(height: 50.0)
List {
MovieCategoryCell(category: "Now Playing", movies: moviesDataSource.nowPlayingMovies)
MovieCategoryCell(category: "Popular", movies: moviesDataSource.popularMovies)
}
.padding(.horizontal, -20)
}
.navigationBarTitle("Movies App")
.navigationBarHidden(true)
}
}
}
struct MovieCategoryCell: View {
var category: String
var movies: [MovieBaseProtocol]
init(category: String, movies: [MovieBaseProtocol]) {
self.category = category
self.movies = movies
}
var body: some View {
VStack(alignment: .leading) {
Text(category)
.font(.title)
ScrollView(.horizontal, showsIndicators: false) {
HStack {
ForEach(self.movies, id: \.id) { movie in
NavigationLink(destination: MovieUIView(movie: movie)) {
MovieCard(movie: movie)
}
}
}
}
.frame(height: 280)
}
.padding(.horizontal, 20)
}
}
解决方案
我用 Text("1") 替换了视图,发现一切都很好。因此,您的任何一个/两个观点都一定有问题。
ForEach(self.movies, id: \.id) { movie in
NavigationLink(destination: Text("1")){// MovieUIView(movie: movie)) {
Text("1") // MovieCard(movie: movie)
}
}
推荐阅读
- python - 出现此错误的任何原因?在查看 ryu 拓扑查看器时遇到问题
- python - 如何根据特征创建自定义损失函数?
- javascript - 如何在 JavaScript 中的函数内部完全调用 API 后返回值?
- python - pandas numpy.ndarray 对象没有属性
- spring-boot - Spring Boot / MVC - 如何自定义控制器方法的返回类型处理?
- recursion - 使用递归反转堆栈的时间复杂度
- javascript - 如何通过电子邮件根据选择向用户发送不同的文件?
- c# - 为什么首先将多个任务存储在 var 中然后等待它们会有所不同?
- linux - 调度线程有什么区别?
- oracle - oracle 中 all_tab_statistics 中的 num_rows 为空时