2011-05-30 187 views
0

我有一個標籤欄作爲根控制器的應用程序。我有四個項目在tabbar中。第二項是一個表視圖,當然應該有一個導航控制器,事情是,我甚至沒有導航欄顯示,我不知道該怎麼做。所以我試圖在谷歌很長時間後猜測沒有成功。這是我在viewDidLoad方法中所做的:導航控制器不顯示iphone

SearchNavController *navController = [[SearchNavController alloc]init]; 

    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:navController]; 

    [searchNavController release]; 

因爲我得到了IlegalArgumentException。 我怎樣才能讓導航欄顯示出來?

在此先感謝傢伙

祝您有美好的一天!

+0

你progamatically或使用Interface Builder採取Uitabbarconrtoller? – iProgrammer 2011-05-30 12:11:26

+0

使用接口生成器 – madcoderz 2011-05-30 12:17:33

回答

0

由於您使用了界面構建器來設置您的tabbarcontroller。請按照以下步驟在您的tabbarcontroller中獲取導航欄和導航控制器:

打開Mainwindow.xib並選擇tababarcontroller。 在屬性檢查器中,選擇viewcontroller中的item1,並從右側的箭頭將其更改爲導航控制器。

嘗試此鏈接:如果您在使用界面生成器
link 1

+0

這本來很容易,如果我使用Xcode 3,我最近更新到Xcode 4,因爲我是一個初學者,我有很多問題使用接口生成器 – madcoderz 2011-05-30 12:24:19

+0

檢查我編輯答案 – 2011-05-30 12:28:07

+0

謝謝,該鏈接取得了訣竅。現在它正在工作。 – madcoderz 2011-05-30 12:48:56

0

您的navController應該可能是一個普通的UIViewController,並帶有您想要顯示的視圖。還需要以下實際顯示navigationController:

[self presentModalViewController:navigationController animated:YES]; 

導航控制器現在應該與你的觀點顯示,因爲它的內容。

+0

你的意思是我必須將navController中的超類更改爲UIViewController而不是UINavigationController? – madcoderz 2011-05-30 12:20:00

+0

我做了你所說的,但我的桌子視圖消失了。你有一個Interface Builder選項嗎?我正在使用Xcode 4,我沒有找到如何從視圖控制器更改爲導航控制器。 – madcoderz 2011-05-30 12:26:15

0

。然後在每個標籤欄中添加UINavigation控制器,然後將您的視圖控制器添加到uinavigation控制器中。如果你有4個選項卡,那麼你必須把4個導航控制器。

的UITabBarController - >>標籤欄>> 的UINavigationController >>設置同級車您的ViewController

+0

你使用Xcode 4嗎? – madcoderz 2011-05-30 12:28:00

+0

不,我正在使用xcode3 – iProgrammer 2011-05-30 12:31:06

+0

正確的,我沒有找到你從視圖控制器更改爲導航控制器選項欄項目的選項。 – madcoderz 2011-05-30 12:32:49