ChildViewController 破坏 XLPagerTabStrip 中的 NavigationViewController - Swift

ChildViewController breaks NavigationViewController in XLPagerTabStrip - Swift

我如何使用 XLPagertabStrip 以编程方式切换到子 ViewController。我有一个名为 Parentcontroller 的 ParentViewController,包括三个名为 Child1VC、Child2VC、Child3VC 的 ChildViewController。每个具有 tableViews 的 childviewController,当 table view selected.I 中的项目已编码为从子控制器切换但它破坏了它的 NavigationViewControllers[=13= 时,我想从 Child1 移动到 Child 2 ]

在这里,我在 Child1VC 的 "didSelectRowAt" 方法中添加了如下代码:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
   let center = storyboard?.instantiateViewController(withIdentifier: "ParentViewController") as? ParentViewController
   self.present(center!, animated: true, completion: nil)
}

向 ParentViewController 中的 viewDidAppear 添加了以下代码

 override func viewDidAppear(_ animated: Bool) {
   super.viewDidAppear(true)

   self.moveToViewControllerAtIndex(1)
 }

它正在移动到下一个子选项卡,但它破坏了 NavigationViewController。

发生的事情是您从父视图而不是导航控制器呈现子视图控制器。我想你想做的是

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
   let vc = storyboard?.instantiateViewController(withIdentifier: "ParentViewController") as! ParentViewController
   self.navigationController!.pushViewController(vc, animated: true)
}

同样这样做它不会是 parent/child 视图控制器。