Beg*_*bie 6 swiftui swiftui-navigationlink
当我在视图中调用 NavigationImageView 时,我想在每次调用中发送不同的视图,这样我就可以导航不同的视图。但问题是如何在 NavigationLink 中发送视图参数。我尝试了 View 和 UIView 但它给了我错误。
struct NavigationImageView: View {
var item : Store
var destinationView: View
var body: some View {
NavigationLink(destination:destinationView ) {
Image(uiImage: (item.banner?.url)!.load())
.resizable()
.aspectRatio(CGFloat((item.banner?.ratio)!), contentMode: .fit)
.cornerRadius(12)
.shadow(radius: 4)
.frame(width: CGFloat(UIScreen.main.bounds.width * 0.9), height: CGFloat((UIScreen.main.bounds.width / CGFloat((item.banner?.ratio) ?? 1))))
}
}
}
Run Code Online (Sandbox Code Playgroud)
您需要在这里使用泛型,因为目标视图的类型事先未知:
struct NavigationImageView<DestinationType: View>: View {
var item : Store
var destinationView: DestinationType
// ... other code
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2068 次 |
| 最近记录: |