我有什麼似乎是一個簡單的問題。我聲明瞭一個導航控制器,但是出現的導航欄不顯示在頁面的頂部。導航欄不顯示在頁面頂部。怎麼了?
我聲明導航控制器像這樣...
的UINavigationController * navController = [[UINavigationController的頁頭] initWithRootViewController:setupViewController];
[self.view addSubview:navController.view];
任何想法?
我有什麼似乎是一個簡單的問題。我聲明瞭一個導航控制器,但是出現的導航欄不顯示在頁面的頂部。導航欄不顯示在頁面頂部。怎麼了?
我聲明導航控制器像這樣...
的UINavigationController * navController = [[UINavigationController的頁頭] initWithRootViewController:setupViewController];
[self.view addSubview:navController.view];
任何想法?
marcc是正確的說,你不應該添加導航控制器視圖作爲視圖的子視圖。實際上,必須創建層次結構,以便您的視圖控制器是導航控制器中的根視圖控制器。
視圖控制器的層次結構通常構造爲: 窗口 - >標籤欄控制器 - >導航控制器 - >視圖控制器。
標籤欄控制器和導航控制器絕對是可選的。
您可以使用pushViewController:animated和popViewController:動畫方法從導航控制器中推送和彈出視圖控制器。
您不應該將NavigationController作爲子視圖添加到像這樣的視圖中。這完全破壞了目的。 您需要使用initWithRootViewController
創建UINavigationController
然後顯示它。嘗試是這樣的:
UINavigationController *controller = [[UINavigationController alloc]initWithRootViewController:setupViewController];
[self presentModalViewController:controller animated:YES];
[controller release];
(你可能想self.navigationController或別的東西在presentModalViewController線,這取決於「自我」是)
也許它飛走了? – 2010-04-21 02:52:00
我打算編輯這個,但決定不搶別人的幽默:) – coneybeare 2010-04-21 05:51:10