2012-04-24 156 views
0

我有這樣的問題:Segue公司到標籤欄控制器

我有了2個部分,第一部分是當它是第一次用戶打開應用程序,以「你叫什麼名字」出現在屏幕的應用然後他看到一個屏幕上有一些按鈕,並以一個桌面視圖結束,他可以在頁腳中按下一個按鈕,轉到該視圖控制器的應用程序的另一部分,該按鈕帶有2個按鈕:1 - 返回到第一個按鈕屏幕(以什麼名字命名),2 - 轉到標籤欄控制器。我的問題是:當我切換到標籤欄控制器2導航欄的出現oO。我已經通過互聯網閱讀,我不能將標籤欄控制器推入導航堆棧,這是真的嗎?

那麼我的UI的解決方案是什麼?因爲我希望用戶能夠返回到該測試屏幕,但我也想使用此標籤欄控制器。

在此先感謝!

+1

可能重複[可一個UIViewController推的UITabBarController?](http://stackoverflow.com/questions/3042287/can-a-uiviewcontroller-push-a-uitabbarcontroller) – CodaFi 2012-04-24 04:53:38

+1

爲什麼不與標籤開始控制器和第一個負載模態地顯示「你叫什麼名字」屏幕? – danielbeard 2012-04-24 05:47:35

+0

我認爲danielbeard是最好的方法 – 2012-04-24 07:43:11

回答

0

我已經讀過互聯網,我不能將標籤欄控制器推入導航堆棧,這是真的嗎?

是的,的確如此。

看看the documentation-[UINavigationController pushViewController:animated:],它說這大概需要作爲一個參數的視圖控制器:

這個對象不能是標籤欄控制器的一個實例,它不能已經在導航堆棧上。

(着重號。)

那麼,什麼是我的用戶界面解決方案?

以不同方式組織您的應用程序。一種方法是將選項卡控制器作爲根控制器,並在應用程序首次啓動時以模態方式呈現初始視圖控制器。如果用戶需要返回,請提供一個按鈕或一些其他方式,以便再次以模態方式顯示初始視圖控制器。或者只是將該初始屏幕作爲另一個選項卡,以便用戶隨時可以返回。

0

我正在使用它在導航控制器頂部推送Tab控制器。只需在屬性檢查器上爲您提供Tab Controller或Navigation Controller標識符。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
UITabBarController *tab=[storyboard instantiateViewControllerWithIdentifier:@"tabController"]; 
[self.navigationController presentViewController:tab animated:YES completion:nil];