1

如何使用 XLPagertabStrip 以编程方式切换到子 ViewController。我有一个名为 ParentController 的 ParentViewController,包括三个名为 Child1VC、Child2VC、Child3VC 的 ChildViewController。每个具有表观视图的ChildViewController,我想在选择表视图中的一个项目中从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。

4

1 回答 1

0

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

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

这样做也不会是父/子视图控制器。

于 2018-01-01T21:47:51.490 回答