2009-09-19 43 views
0

我有2個XIB及其相應的視圖控制器。將它們稱爲MainViewController和AboutViewController。 XIB的名稱與ViewControllers的名稱完全相同。在MainViewController中單擊按鈕後,我想顯示AboutViewController。爲什麼不會加載我的NIB/XIB

我有這樣的代碼在MainViewController:

- (IBAction) infoButtonAction:(id)sender { 
    AboutViewController *aboutViewController = [[AboutViewController alloc] init]; 
    [[self navigationController] pushViewController:aboutViewController animated:YES]; 
} 

但沒有任何反應,則AboutViewController顯示不出來。我也試過這一行:

AboutViewController *aboutViewController = [[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:nil]; 

但無濟於事。我錯過了什麼?

回答

0

你有錯誤?您是否檢查了IB按鈕是否連接正確?

你嘗試過使用模態視圖控制器嗎?

+0

我沒有得到任何錯誤。按鈕連接正確,因爲它停止在點擊功能內的斷點處。 – AngryHacker 2009-09-19 18:31:46

1

在Interface Builder中檢查AboutViewController.xib並確保文件所有者在類檢查器中設置爲AboutViewController。還要確保文件所有者的view屬性連接到xib中的視圖中。最後,代碼顯示它應該閱讀:

- (IBAction) infoButtonAction:(id)sender { 
    AboutViewController *aboutViewController = [[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:nil]; 
    [[self navigationController] pushViewController:aboutViewController animated:YES]; 
    [aboutViewController release]; 
} 

此外,你應該檢查這是非零相同的方法內:

UINavigationController * nc = self.navigationController; 
+0

你說得對。 self.navigationController是零。你能告訴我爲什麼和我能做些什麼嗎? – AngryHacker 2009-09-19 21:02:01

+0

這意味着您的MainViewController不在navigationController中。你將需要檢查你如何創建你的MainViewController。 – Jason 2009-09-22 11:46:30

相關問題