2012-08-28 37 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 ;,我會猜測這將是黑色太意味着該登錄控制器有問題 - 筆尖名稱拼寫錯誤,或筆尖是不包括在項目中等 –