以编程方式选择到SwiftUI视图

时间:2019-10-02 11:56:19

标签: ios swift swiftui

Integrating SwiftUI WWDC视频中,它显示了使用IBSegueAction转换到SwiftUI视图的示例,是否可以通过编程方式做到这一点?

我有一个带有UIKit TableViewController的SwiftUI应用程序(通过UIViewControllerRepresentable),它是我要从此表切换到另一个SwiftUI视图的表。

本质上: SwiftUI TabView-> UIKit TableView-> SwiftUI视图

还是我需要设置情节提要以实现此目的?

2 个答案:

答案 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()