NavigationController Push不工作ios 11

时间:2018-05-23 14:36:17

标签: ios iphone swift uinavigationcontroller presentviewcontroller

您好我有导航堆栈(Flow),顶部可见视图控制器是 M

  1. 我正在使用视图控制器 A 再创建一个新的导航控制器 N
  2. 现在在 M
  3. 上展示 N
  4. A (self.navigationcontroller)中推送视图控制器 B
  5. Push正在运行,并且在发生现有转换或演示时出现错误;仅在iOS 11中,导航堆栈不会更新。 谢谢,

3 个答案:

答案 0 :(得分:0)

您提到的内容不应该产生问题。但是下面提到的并不能确定你提到的内容。

在模态演示文稿的完成块

中将push B添加到N代码中
present(N, animated: true) { [weak self]
    N.pushViewController(B, animated: true)
}

答案 1 :(得分:0)

您未正确关注导航结构。

从视图控制器 M ,您需要像这样显示导航控制器 N

self.navigationController?.present(navN, animated: true, completion: nil)

此处自我是视图控制器 M navN 是新的导航控制器。

通过执行此操作,它将从此处打开视图控制器A,您需要按下以查看控制器B:

self.navigationController?.pushViewController(VCb, animated: true)

自我是视图控制器 A VCb 是新视图控制器B.

答案 2 :(得分:0)

Swift 3 / Swift 4

首先,您需要设置要显示的导航控制器。之后,在第二个视图控制器上进行导航过程。

  • 类似的示例

    onclick="this.setSelectionRange(0, this.value.length)"

现在您位于带有导航功能的当前堆栈中

您可以在那之后推动

   let firstPresentVC = FirstVC(nibName:"FirstVC",bundle:nil)
   let navVC = UINavigationController(rootViewController:firstPresentVC)
   navVC.isNavigationBarHidden = true
   self.present(navVC, animated: true, completion:nil)