将当前的ViewController添加到NavigationControllerStack

时间:2019-01-16 11:03:25

标签: ios swift uinavigationcontroller

好的,我有2个VC。

我从vc1使用segue移到vc2

现在从vc2中,我想使用以下代码移至vc2

Julia> Pkg.pin(PackageSpec(name = “GDAL”, version = “0.1.2”))

Error: the following package names could not be resolved: * GDAL(add… in manifest but not in project) Please specify by known ‘name=uuid’.

由于未将VC2添加到导航控制器堆栈中,因此无法正常工作。

我想知道如何以编程方式将VC2添加到导航控制器堆栈中。 事实是,我在某些情况下使用segue,而在其他情况下则使用视图控制器。

3 个答案:

答案 0 :(得分:0)

因为您的VC1没有嵌入persistence.xml中。转到NavigationController,将您的第一个VC1嵌入到Storyboard中,并将您的序号从NavigationController / modal更改为presentation。然后,您可以在导航堆栈中推送任意数量的ViewController。

How to Embed A ViewController in Navigation Controller

Change Segue from modal/presentation to SHOW

答案 1 :(得分:0)

navigationController = nil

因此,如果需要,则需要将视图控制器嵌入到导航视图控制器中。

在这种情况下,UINavigationContoller应该是您的根视图控制器。请验证您的根视图控制器。

答案 2 :(得分:0)

您可以尝试以下方法:

let loginVc = storyboard?.instantiateViewController(withIdentifier: screenId)
let aObjNavi = UINavigationController(rootViewController: loginVc)
let appDelegate: AppDelegate = (UIApplication.shared.delegate as? AppDelegate)!
appDelegate.window?.rootViewController = aObjNavi

let vc = storyboard?.instantiateViewController(withIdentifier: screenId)
navigationController?.pushViewController(vc!, animated: true)

它可能会帮助您。谢谢。