在Integrating SwiftUI WWDC视频中,它显示了使用IBSegueAction转换到SwiftUI视图的示例,是否可以通过编程方式做到这一点?
我有一个带有UIKit TableViewController的SwiftUI应用程序(通过UIViewControllerRepresentable),它是我要从此表切换到另一个SwiftUI视图的表。
本质上: SwiftUI TabView-> UIKit TableView-> SwiftUI视图
还是我需要设置情节提要以实现此目的?
答案 0 :(得分:0)
如果您的Coordinator
属性设置为UIViewRepresentable
,则您的UIHostingController
在您的navigationController
上可以通过SwiftUI视图推送func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
let view = SomeView()
navigationController?.pushViewController(UIHostingController(root: view))
}
:
UIKit
但我认为您会发现使用TabView => NavigationView => wrapped UITableViewController => some SwiftUI View
最简单,直到您不再需要它为止。所以代替:
UITabBarController => UINavigationController => UITableViewController => UIHostController(root: SwiftUIView)
应该是:
List
但是您为什么不只想使用TabView => NavigationView => List => SwiftUIView
?
{{1}}
答案 1 :(得分:0)
使用布尔创建隐藏的导航链接。
NavigationLink(destination: NextView(), isActive: self.isShowNext) {
Text("")
}.hidden()