2010-04-21 98 views
1

我有什麼似乎是一個簡單的問題。我聲明瞭一個導航控制器,但是出現的導航欄不顯示在頁面的頂部。導航欄不顯示在頁面頂部。怎麼了?

http://sphotos.ak.fbcdn.net/hphotos-ak-snc3/hs410.snc3/24784_889732028002_28110599_54506042_4580563_n.jpg

我聲明導航控制器像這樣...

的UINavigationController * navController = [[UINavigationController的頁頭] initWithRootViewController:setupViewController];

[self.view addSubview:navController.view];

任何想法?

+2

也許它飛走了? – 2010-04-21 02:52:00

+0

我打算編輯這個,但決定不搶別人的幽默:) – coneybeare 2010-04-21 05:51:10

回答

1

marcc是正確的說,你不應該添加導航控制器視圖作爲視圖的子視圖。實際上,必須創建層次結構,以便您的視圖控制器是導航控制器中的根視圖控制器。

視圖控制器的層次結構通常構造爲: 窗口 - >標籤欄控制器 - >導航控制器 - >視圖控制器。

標籤欄控制器和導航控制器絕對是可選的。

您可以使用pushViewController:animated和popViewController:動畫方法從導航控制器中推送和彈出視圖控制器。

0

您不應該將NavigationController作爲子視圖添加到像這樣的視圖中。這完全破壞了目的。 您需要使用initWithRootViewController創建UINavigationController然後顯示它。嘗試是這樣的:

UINavigationController *controller = [[UINavigationController alloc]initWithRootViewController:setupViewController]; 
[self presentModalViewController:controller animated:YES]; 
[controller release]; 

(你可能想self.navigationController或別的東西在presentModalViewController線,這取決於「自我」是)