问题描述
我正在尝试在下面的代码中使用NavigationView
和NavigationLink
。
我听说NavigationLink
仅在NavigationView
内部有效。
但是,每当我将ScrollView
嵌入到NavigationView
中时,scrollView就会停止显示,并且会出现空白。我不确定其背后的原因是什么。
var body: some View {
// I tried to embed the entire vstack into NaviationView. However,it ends up showing nothing as well
vstack(alignment: .leading) {
Text(self.categoryName)
.font(.title)
NavigationView {
ScrollView(.horizontal,showsIndicators: false) {
HStack(alignment: .top) {
ForEach (self.drummers) { drummer in
NavigationLink("Moreinfo",destination: drummerDetail(drummer: drummer))
aDrummer(drummer: drummer)
.frame(width: 300)
.padding(.trailing,30)
}
}
}
.padding()
}
}
}
解决方法
如果aDrummer
是一个视图(如我假设),则请参见以下可能的解决方法-ForEach内容应为单个视图
ForEach (self.drummers) { drummer in
VStack {
NavigationLink("Moreinfo",destination: drummerDetail(drummer: drummer))
aDrummer(drummer: drummer)
.frame(width: 300)
.padding(.trailing,30)
}
}