Objective c 在didReceiveLocalNotification中设置根视图控制器:结果显示为黑色窗口

Objective c 在didReceiveLocalNotification中设置根视图控制器:结果显示为黑色窗口,objective-c,cocoa-touch,Objective C,Cocoa Touch,我知道以前有人问过这个问题的不同版本,但我真的被困在这里了。我正在尝试让我的应用程序在获取以下信息时从我的应用程序代理推送新视图: -(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)localNotif { 我把下面的代码放在里面: MyViewController *myViewController = [[MyViewController al

我知道以前有人问过这个问题的不同版本,但我真的被困在这里了。我正在尝试让我的应用程序在获取以下信息时从我的应用程序代理推送新视图:

-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)localNotif {
我把下面的代码放在里面:

MyViewController *myViewController = [[MyViewController alloc]init];
nvcontrol = [[UINavigationController alloc] initWithRootViewController:myViewController];
[nvcontrol.navigationBar setTintColor:[UIColor blackColor]];
self.window.rootViewController = nvcontrol; 
由此,我得到了一个带有黑色导航条的黑色视图(myViewController不应该有这个视图)

我做错了什么?

如上所述,您可以使用故事板设置初始视图控制器


请注意,如果在序列图像板中设置了视图控制器,然后在应用程序委托中创建了视图控制器,则创建的视图控制器将与序列图像板中的视图控制器不同。这是因为您正在创建该类的实例,但程序无法将其与布局关联。

您的项目包含MyViewController.xib文件?不,我的故事板中有一个自定义类的UIViewControllerMyViewController@philipM这是你的问题。如果你有一个故事板,为什么不把初始视图控制器设置成你想要的呢?有一个箭头可以拖动。我不希望它作为初始视图控制器:),但你帮助我意识到故事板的问题,所以我制作了一个xib,现在它可以使用:initWithNibName。谢谢你的帮助!