2013-04-22 29 views
1

我有一個選項卡式應用程序,每個選項卡都有一個帶有表格視圖的導航控制器。在選項卡式應用程序的另一個選項卡中顯示導航控制器內的視圖控制器

在一個選項卡的視圖中,我想呈現另一個選項卡的第一個視圖控制器。

我的tabViewController.viewControllers爲每個選項卡都有一組導航控制器。

我似乎無法直接呈現視圖控制器而無需訪問導航控制器,我想你不能提供導航控制器。 我在做什麼錯?

回答

1

如果我正確地理解了你,你可以訪問你的根控制器:[[tabViewController.viewControllers objectAtIndex:index] objectAtIndex:0],但我不認爲你可以顯示一個視圖兩次。所以你仍然應該重新創建這個視圖控制器顯示它在另一個選項卡作爲childViewController,例如

+0

'UINavigationController * mycont = [self.tabBarController.viewControllers objectAtIndex:2]; [self.tabBarController presentViewController:[mycont.viewControllers objectAtIndex:0] animated:YES completion:nil];' 上面的代碼會拋出錯誤 由於未捕獲的異常'NSInvalidArgumentException'而終止應用程序,原因:'應用程序試圖以模態方式呈現主動控制器。' – SunnyPenguin 2013-04-22 08:45:56

+1

Bcz你正試圖呈現已經可見的控制器。 – 2013-04-22 08:51:10

+0

我是否重新創建viewController和導航控制器,然後再次將它替換爲'tabbarController.viewControllers'?我解釋你的答案是否正確? – SunnyPenguin 2013-04-22 08:51:20

相關問題