导航控制器黑屏

Posted

技术标签:

【中文标题】导航控制器黑屏【英文标题】:Black screen in navigation controller 【发布时间】:2013-11-14 20:55:49 【问题描述】:

我无法在导航控制器中看到视图控制器。

当前用户保存了一些信息,我想再次将它们推送到应用程序的开头。

我正在以编程方式执行此操作。

目前对于我下面的内容,导航控制器已显示,但视图控制器未显示。

SubclassConfigViewController *nextViewController = [[SubclassConfigViewController alloc]initWithNibName:nil bundle:nil];            
UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:nextViewController];
[self presentViewController:navController animated:YES completion:nil];

非常感谢任何人可以提供的任何帮助! :-)

【问题讨论】:

真正在做什么?您的 SubclassConfigViewController 是 initWithNibName:nil,这本质上意味着没有有效的 nib 文件。那么你希望在屏幕上看到什么? @AyanSengupta - 我就是这么想的。我正在使用故事板,所以没有笔尖(我相信)。所以我然后尝试了 init 方法,但仍然没有运气。我只是简单地回到rootviewcontroller。有什么想法吗? 对于故事板,您不能像您所做的那样启动 VC,因为它不使用 initWithNibName 从 XIB 加载其视图。相反,您需要在源视图控制器中实现-(void)prepareForSegue: sender: 方法,并且在此方法中,您可以使用segue.destinationViewController 属性获取目标视图控制器,如果执行该segue,则该属性返回目标视图控制器的引用。跨度> 嗨,我目前正在尝试做同样的事情,为什么我不能创建一个 subclassconfigviewcontroller 对象? 那是我的viewController的名字。你会用你的替换我的。有意义吗? 【参考方案1】:

有了故事板,你应该使用这个:

SubclassConfigViewController *nextViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Next"];

确保在 IB 中给控制器一个标识符,并在方法中传递该字符串。

【讨论】:

好吧,如果 VC 没有链接到故事板中的任何 segue,这基本上是唯一的方法 太棒了。谢谢!有趣的是,我之前有过那行,并因语法不正确而对其进行了更改。 rdelmar,你帮了大忙!

以上是关于导航控制器黑屏的主要内容,如果未能解决你的问题,请参考以下文章

导航控制器后标签栏出现黑屏

导航控制器有时会使用情节提要推送到黑屏

为啥使用故事板推送视图控制器显示黑屏

标签栏和 UISearchController 出现黑屏

应用程序打开到空白黑屏

为啥navigationBar和view之间显示黑屏