2016-09-28 134 views
0

我有3個視圖控制器。兩個我已經連接到一個標籤欄控制器,當用戶在我的選項卡式視圖中的第二個視圖控制器上選擇一個單元格時,我想要訪問該控制器。從標籤欄控制器分支?

我想要當用戶在第三個「詳細信息」頁面上點擊「返回」以使用戶回到第二個視圖。

當我這樣做只需添加一個按鈕並繼續回到第二個VC,標籤欄就消失了。我試圖在我的viewDidAppear取消隱藏標籤欄,但我想離開標籤欄控制器弄亂了導航。

我試圖創建一個變量,就像「didHitBack」和關於我創建一個SEGUE回標籤欄控制器第三視圖我的「後退」按鈕,如果「didHitBack」是真的我做

_ self.tabBarController?.selectedIndex = 1 

它把我帶到第二頁,但它加載第一個視圖然後去第二個頁面看起來很糟糕。

我在想也許有辦法做「didHitBack」並將標籤欄的初始視圖控制器設置爲第二個或某個東西,但這一切似乎都很錯誤。

有沒有「適當」的方式來做到這一點?

回顧我有VC1和VC2連接到一個選項卡欄控制器,我有一個VC2上的tableview在didSelectRow我要去VC3,我不想成爲選項卡式視圖控制器的一部分,當我回到VC3時,我想回到VC2。

回答

1

如果你想建立一個導航堆棧,您應該嵌入您的視圖控制器在UINavigationController

所以,你的標籤欄會迷上了VC1和NavVC。 NavVC的根視圖控制器將是VC2。

然後,您可以使用導航控制器(或彈出視圖控制器返回)在tabBar的範圍內將所有新視圖控制器推入堆棧。

+0

完美!我從來不會想到這一點。謝啦。 – Noowoo