2012-08-28 36 views
0

我正在使用xCode 4.3.2并启动一个空白应用程序。NavigationController not loading查看

我有一个导航控制器和一个简单的登录控制器。我希望登录控制器成为我的根视图,因此这是用户登录时的第一件事情。

我使用下面的代码,当我运行应用程序时,它显示一个黑屏。我把登录在LoginViewController.m-> ViewDidLoad,它正在运行是否有什么我做错了LoginViewController.xib非常简单,它只是包含一个按钮,现在将切换到一个标签视图控制器,一旦我找到了这个。

在此先感谢。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:  (NSDictionary *)launchOptions 
    { 
     UIViewController *loginController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; 
     navigationController = [[UINavigationController alloc] initWithRootViewController:loginController]; 



     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
     [self.window addSubview:navigationController.view]; 
     [self.window makeKeyWindow]; 


     return YES; 
    } 
+1

尝试'self.window.rootViewController = navigationController'而不是添加导航控制器的视图作为一个子视图在窗口中。 – nielsbot

+0

@nielsbot我试过仍然是黑屏。我也试过self.window.rootViewController = loginController;并有同样的问题。这是否意味着问题出在我的LoginViewController上? – Tony

+0

可能是..可能想要确保viewDidLoad和viewDidAppear正在您的视图控制器上调用,并检查您的视图的框架以及它的超级视图≠无 – nielsbot

回答

1

这是不对的:

[self.window addSubview:navigationController.view]; 

它改成这样:

self.window.rootViewController = navigationController; 
+0

仍然只显示一个空白屏幕。 – Tony

+0

然后注释掉几乎所有的代码,只是做self.window.rootViewController = loginController ;,我会猜测这将是黑色太意味着该登录控制器有问题 - 笔尖名称拼写错误,或笔尖是不包括在项目中等 –