2012-07-31 63 views
2

我面臨的問題是,當我將我的viewcontroller放在navigationcontroller中時,它所做的只是更改導航欄並顯示標準背景,但不會顯示視圖。我推的視圖 - 控制到navigationcontroller代碼如下所示:在navigationcontroller中推UIViewController顯示空視圖

Viewcontroller1 *viewController = [[Viewcontroller1 alloc] autorelease]; 
[[self navigationController] pushViewController:viewController animated:YES]; 

但是,如果我通過爲它創建IBOutlets初始化視圖控制器,它工作得很好。但是我沒有這樣做的原因是因爲後來我需要在初始化時將一些參數傳遞給類。

謝謝你的時間。

+0

你是完全濫用系統這樣 - 難怪你有很大的問題。您應該正常創建對象。在有人訪問其視圖屬性之前,視圖控制器不會調用viewDidLoad,因此在您再次推送它之前,您有很多配置屬性的機會。 – 2012-07-31 11:16:23

+0

好吧,我是新來的ios編程,所以沒有意識到這一點。謝謝。但是,通過正常創建對象,你到底意味着什麼? – user1188650 2012-07-31 11:30:59

+0

[[MyViewController alloc] initWithNib:@「MyViewController」bundle:nil]; – 2012-07-31 11:35:12

回答

3

你必須初始化你的觀點一樣

如果你有廈門國際銀行則

Viewcontroller1 *viewController = [[[Viewcontroller1 alloc] initWithNibName:@"Viewcontroller1" bundle:nil]autorelease]; 
[[self navigationController] pushViewController:viewController animated:YES]; 

如果你還沒有XIB

Viewcontroller1 *viewController = [[[Viewcontroller1 alloc] init]autorelease]; 
[[self navigationController] pushViewController:viewController animated:YES]; 
+0

我已經試過,不會工作。所有ViewController都在同一個xib中。 它給出了例外: ***終止應用程序由於未捕獲異常'NSInvalidArgumentException',原因:' - [Viewcontroller1 initWithNibName:]: – user1188650 2012-07-31 11:21:13

+0

使用你的秒方法,只有「init」結果在空白頁面沒有視圖但只是導航欄。 – user1188650 2012-07-31 11:25:11

+0

使用此行查看viewController.title = @「View」;在導航之前和初始化之後添加此行。如果您在導航欄中看到標題視圖,則意味着它導航到ViewController1 – Hiren 2012-07-31 11:26:55

相關問題