我在应用中使用.xib文件。我希望有两个视图控制器正常方式,并从第三个视图控制器,将其嵌入导航视图控制器。这是我想要的例子。
我知道我可以在这样的模态呈现视图控制器中嵌入导航控制器。
let firstVC = FirstViewController(nibName: firstViewController, bundle: nil)
let navController = UINavigationController(rootViewController: firstVC)
presentViewController(navController, animated: true, completion: nil)
但是如果我将它嵌入导航控制器并推送它,应用程序崩溃时会出现错误不支持多次推送相同的视图控制器实例。
let firstVC = FirstViewController(nibName: firstViewController, bundle: nil)
let navController = UINavigationController(rootViewController: firstVC)
navController.pushViewController(firstVC, animated: true)
是否可以这样做?如果是这样,有人可以解释一下吗?
谢谢。
注意:请勿将代码段与上图混淆。代码中的firstViewController
不是图中的第一个视图控制器。
答案 0 :(得分:1)
假设FirstViewcontroller,Secondviewcontroller,Thirdviewcontroller是三个视图控制器。然后从第二个到第三个视图控制器的转换使用下面给出的代码。
Secondviewcontroller *second=[[Secondviewcontroller alloc]init];
UINavigationController *nav=[[UINavigationController alloc]initWithRootViewController: second];
[self presentViewController:nav animated:NO completion:nil];
答案 1 :(得分:1)
[self.navigationController pushViewController:vc animated:YES];
[self.navigationController setNavigationBarHidden:YES animated:animated];
如果您想要显示导航栏,请使用
[self.navigationController setNavigationBarHidden:NO animated:animated];