0

我正在尝试将我的应用程序转换为 Storyboard,但遇到了一些问题。在以前的模型中,我可以在我的 AppDelegate 中有一个“actionClass”,当我需要弹出一个视图时我会调用它。

例如

DOArticleViewController *articleView = [[DOArticleViewController alloc] initWithArticle:article notification: notification nibName:@"DOArticleViewController" bundle:nil];
[[self navigationController] pushViewController:articleView animated:YES];  

但是现在有了故事板,它就不再起作用了。然后我在 AppDelegate 中尝试了以下代码:

id currentController = [[[[self window] rootViewController] navigationController] visibleViewController];
[currentController performSegueWithIdentifier:@"settingsSeque" sender:nil];

不要认为这是最好的,因为只有 rootViewController 具有所需的所有序列,并且可能不是 visibleViewController,而是一次一步。

有了这个,我看到的唯一事情就是消息而不是行动:

对 UINavigationController 的开始/结束外观转换的不平衡调用:0xb428e00。

我现在花了几个小时试图弄清楚如何让它工作,但我意识到回到传统的独立 XIB 文件可能会更好......

4

1 回答 1

0

我解决了这个问题中给出的答案:ios: Accessing a navigation controller from app delegate

我试图获得导航控制器,但这是零,我没有意识到。我的导航控制器是 rootViewController,所以这也是 NavigationController。

将 rootViewController 转换为 NavigationController 并调用“visibleViewController”之后效果很好!

于 2013-07-17T07:09:26.823 回答