1

我是 iOS 新手,我正在使用 Storyboards。

我有一个有一些意见的应用程序。

我的 rootViewController (1) 是一个连接到其他视图的 UINavigationController。在应用程序 (2) 中,我包含一个组件(SWRevealViewController,Facebook 侧菜单样式),它是 UINavigationController 的一个实例,因此我有两个相互嵌套的 UINavigationController。我想用新的 (2) 删除或更改第一个 UINavigationController,并且只有一个。所有视图都通过自定义 segues 访问。

详细图片在这里

我认为解决方案是在加载视图(2)之前更改rootViewController,并将第二个UINavigationController设置为应用程序的主。

详细图片在这里

我试图通过以下方式解决它的访问问题:

[UIApplication delegate].window.rootViewController = myController;

但我只有nil一个或一个空的窗口。

我读了很多帖子,解决方案可能在我的 AppDelegate 中,

- (void) applicationDidFinishLaunching: (UIApplication *) application

我无法理解如何将它应用到我的结构中,因为在启动应用程序时会调用该方法。

我认为我的工作流应用程序是错误的。

欢迎任何反馈或帮助!提前致谢。

4

2 回答 2

0

您可以删除 (1) 或将其卸载到另一个隐藏的视图控制器中,一旦用户返回到您想要 (1) 回来的位置,您就可以将其重新加载。这可以在- (void) applicationDidFinishLaunching: (UIApplication *) application.

于 2013-08-13T21:42:46.707 回答
0

从另一个控制器更改根视图控制器很好,但是您的代码是错误的。它应该是:

[UIApplication sharedApplication].delegate.window.rootViewController = myController;

如果您从视图当前在屏幕上的控制器执行此操作,您可以这样做:

self.view.window.rootViewController = myController;

This should work as long as myController has been properly instantiated.

于 2013-08-13T22:55:16.843 回答