我正在使用故事板编写iOS应用程序。
我创建了ViewControllerA
,ViewControllerB
,然后在故事板上的ViewControllerA
中嵌入了UINavigationController
。
该应用首次启动时会显示ViewControllerA
,否则会显示ViewControllerB
。
我成功添加了启动历史记录检查代码。我将在UINavigationController
方法中将rootViewController
设置为窗口didFinishLaunchingWithOptions
。
问题在于我无法从故事板中获取UINavigationController
,因此我无法根据条件推送ViewControllerA
和ViewControllerB
。
答案 0 :(得分:0)
如果您正在使用故事板,那么UINavigationController
应该被设置为初始视图控制器,它将被自动加载和显示。现在,当ViewControllerA
中发生某些事情时,它可以通过使用:
ViewControllerB
ViewControllerB *b = ...;
[self.navigationController pushViewController:b animated:YES];
为了增强篡改,app委托有一个window
属性。从这里你可以得到rootViewController
。将其转换为UINavigationController
,您可以修改/推送。将其设置为其他内容,您可以一起替换UINavigationController
。