2013-04-29 133 views
0

這是我的問題。 我有一個標籤欄,在最後一個選項卡中加載模態視圖。當我關閉模式視圖時,應用程序會在標籤欄的最後一個選項卡中返回。但是,我希望應用程序在標籤欄的第一個選項卡(初始視圖)上返回。 如果我忽略模態視圖,我插入的代碼之後(調用初始視圖控制器)沒有考慮在內。你能給我一個解決方案嗎?謝謝。關閉模態視圖並調用初始視圖控制器

,我使用的代碼是:

[self dismissViewControllerAnimated:YES completion:nil]; 
    InitialViewController* controller = (InitialViewController*)[self.storyboard instantiateViewControllerWithIdentifier:@"Initial"]; 
    [self presentViewController:controller animated:NO completion:nil]; 
+1

「如果我忽略模態視圖後我插入的代碼(調用初始視圖控制器)沒有考慮到」那麼,這是不正確的,所以你必須做錯了什麼。爲什麼你不顯示你的代碼,所以我們可以提供什麼可能的建議? – matt 2013-04-29 17:34:04

+0

好吧,我錯了,代碼是考慮到的,但我有一個崩潰,錯誤是:試圖開始從UINavigationController到InitialViewController的模態轉換,而轉換已經在進行中。等待viewDidAppear/viewDidDisappear知道當前轉換已完成 – user2136333 2013-04-29 17:46:35

回答

0

你在做什麼不是「返回」到標籤欄。相反,你是呈現一個完全標籤欄。現在你有兩個標籤欄界面。不要做that.This足以解僱:

[self dismissViewControllerAnimated:YES completion:nil]; 

要更改標籤,你需要一個參考現有標籤欄控制器(不是不同一個)。然後,你可以說:

[theTabBarController setSelectedIndex:0]; 

如果你知道你想要做的,當你從模態控制器返回,你甚至可以做一個事實,即在當時你目前模態控制器。

+0

好吧,我明白,但如果我使用此代碼,我沒有任何效果,並在解散後應用程序返回在最後一個選項卡[自我presentViewController:navController動畫:否完成:無];你可以使用UITabBarController * tabController = [tabController setSelectedIndex:0]; – user2136333 2013-04-29 18:01:21

+0

好的!解決方法是:[self dismissViewControllerAnimated:YES completion:nil]; [self.tabBarController setSelectedIndex:0]; – user2136333 2013-04-29 18:06:12

相關問題