NavigationController推送在ios 11中不工作
您好,我有导航堆栈(流),顶部可见视图控制器是MNavigationController推送在ios 11中不工作,ios,iphone,swift,uinavigationcontroller,presentviewcontroller,Ios,Iphone,Swift,Uinavigationcontroller,Presentviewcontroller,您好,我有导航堆栈(流),顶部可见视图控制器是M 我正在使用视图控制器A再创建一个新的导航控制器N 现在在M上呈现N 在A中按视图控制器B(self.navigationcontroller) 推送不起作用,并且在现有转换或演示发生时出错;导航堆栈仅在iOS 11中不会更新。 谢谢,您刚才提到的内容不应该造成问题。但下面提到的并不能确定你提到的是什么 在模态演示的完成块中将push B添加到N代码中 present(N, animated: true) { [weak self] N.p
谢谢,您刚才提到的内容不应该造成问题。但下面提到的并不能确定你提到的是什么 在模态演示的完成块中将push B添加到N代码中
present(N, animated: true) { [weak self]
N.pushViewController(B, animated: true)
}
您没有正确遵循导航结构 从视图控制器M中,您需要显示导航控制器N,如下所示:
self.navigationController?.present(navN, animated: true, completion: nil)
这里self是视图控制器M,navN是新的导航控制器
通过执行此操作,它将打开视图控制器A,您需要从这里推送到视图控制器B:
self.navigationController?.pushViewController(VCb, animated: true)
Self是视图控制器A,VCb是新的视图控制器B。Swift 3/Swift 4 首先,您需要设置要显示的导航控制器,然后在第二个视图控制器上执行导航过程
- 这样的例子
let firstPresentVC = FirstVC(nibName:"FirstVC",bundle:nil) let navVC = UINavigationController(rootViewController:firstPresentVC) navVC.isNavigationBarHidden = true self.present(navVC, animated: true, completion:nil)
let secondPushVC = secondPushVC(nibName:"secondPushVC",bundle:nil)
self.navigationController?.pushViewController(secondPushVC, animated: true)
共享代码或Storybord图像不使用故事板。通过xib并以编程方式实现。ok共享现在在M上呈现N的代码,并在步骤2的(self.navigationcontroller)代码中推送视图控制器B,在
DispatchQueue.main.async{}中推送3trypush
当您尝试在第一个viewcontroller的ViewDiLoad中推送第二个view controller时,会出现此类错误。因为一个转变已经发生了。您的代码可能有助于更好地理解问题。请分享你的代码。