ChildViewController在XLPagerTabStrip - Swift中打破了NavigationViewController

时间:2018-01-01 18:30:45

标签: ios swift xlpagertabstrip

我如何使用XLPagertabStrip以编程方式切换到子ViewControllers。我有一个名为Parentcontroller的ParentViewController,包括三个名为Child1VC,Child2VC,Child3VC的ChildViewController。每个childviewController都有tableViews,我想在选择表视图中的项目时从Child1移动到Child 2.我已经编码从子控制器切换但是它打破了它的NavigationViewControllers

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

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。

1 个答案:

答案 0 :(得分:0)

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

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

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