ios - ChildViewController 打破 XLPagerTabStrip 中的 NavigationViewController - Swift

标签 ios swift xlpagertabstrip

我如何使用 XLPagertabStrip 以编程方式切换到子 ViewController。我有一个名为 Parentcontroller 的 ParentViewController,包括三个名为 Child1VC、Child2VC、Child3VC 的 ChildViewController。每个具有 tableViews 的 childviewController,我想在选择 TableView 中的项目时从 Child1 移动到 Child 2。我已经编码以从子 Controller 切换,但它打破了它的 NavigationViewControllers

在这里,我在 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。

最佳答案

发生的事情是您从父 View Controller 而不是导航 Controller 呈现 subview Controller 。我想你想做的是

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

同样这样做它不会成为父/ subview Controller 。

关于ios - ChildViewController 打破 XLPagerTabStrip 中的 NavigationViewController - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48052202/

相关文章:

ios - XLPagerTabStrip 将水平滚动标签切换为多行标签

android - 适用于 iOS 和 Android 的 HTML5 地理定位

ios - 使用核心图形和使用 CALayer 绘制阴影

ios - 如何在 Alamofire 中使用 PUT 请求

ios - ValueForKeyPath() 返回一些意想不到的东西

ios - UIImage View 没有自动布局的整数高度,绘制的线条变得模糊

ios - Swift:XLPagerTabStrip:ButtonBarPagerTabStripViewController:未设置 ChildViewController IBOutlets

ios - 即使在终止并重新启动应用程序后,如何在 native iOS 中下载音频文件?

ios - 标记未显示在谷歌地图上

ios - Swift:如何在使用 XLPagerTabStrip 中的 subview Controller 后返回到第一个 View Controller