【问题标题】:How to navigate to the details view from horizontal list on map view in SwiftUI?如何从 SwiftUI 中地图视图的水平列表导航到详细信息视图?
【发布时间】:2022-12-12 15:37:34
【问题描述】:

我试着浏览导航视图导航链接(目的地:但这对我不起作用。

 ScrollView(.horizontal) {
        LazyHStack {
            
            ForEach(0...10, id: \.self) { index in
                
                ZStack {
                    HListContentView(descriptionLineLimit: 3)
                        .background(.white)
                        .cornerRadius(8)
                        .frame(width: geometry.size.width - 20, height: 200)
                    
                        .onAppear {
                            print("map view: \(index)")
                        }
                        .shadow(color: .gray, radius: 10, x: 0.1, y: 0.1)
                    NavigationLink(destination: DetailsView()) {
                        EmptyView()
                    }
                    
                    
                    .opacity(0)
                    .buttonStyle(PlainButtonStyle())
                }
                
            }
            
        }
 //     }
}

【问题讨论】:

    标签: swiftui swiftui-navigationview


    【解决方案1】:

    可以使用以下两种方法解决:

    第一的:

    NavigationLink("Tap to show detail"){DetailsView()}
    

    第二:

    NavigationLink(destination: DetailsView(), isActive: $isShowingDetailsView) {
                        EmptyView()
                        Button("Tap to show detail") {
                            isShowingDetailsView = true
                        }
                    }
    

    与简单的 NavigationLink 相比,这种方法的优势在于我们的按钮可以在触发程序化导航之前完成任何数量的其他工作。例如也许您想保存一些数据或对用户进行身份验证等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-14
      • 2020-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多