使用NavigationLink和NavigationView的SwiftUI

时间:2020-09-03 23:44:30

标签: ios swiftui swiftui-navigationlink swiftui-navigationview

我正在尝试在下面的代码中使用NavigationViewNavigationLink。 我听说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()
                }
            }
        
    }

1 个答案:

答案 0 :(得分:0)

如果aDrummer是一个视图(如我假设),则请参见以下可能的解决方法-ForEach内容应为单个视图

ForEach (self.drummers) { drummer in
  VStack {
    NavigationLink("Moreinfo", destination: drummerDetail(drummer: drummer))
       aDrummer(drummer: drummer)
         .frame(width: 300)
         .padding(.trailing, 30)
  }
}