2014-01-05 51 views
0

因此,我有一個包含搜索視圖和配置文件視圖的選項卡欄控制器。當我點擊搜索視圖中的一個單元格時,我想要轉到另一個視圖控制器,底部仍然有我的選項卡,並保持用戶單擊後退按鈕返回到主視圖的能力。將視圖控制器推入到選項卡控制器中的視圖控件中

我已經實現了後退按鈕部分,但是我沒有實現維護標籤部分。

這是我已經試過 -

-(void)displayCardController{ 

if(self.userProfile == nil){ 
    [self.tabBarController setViewControllers:@[self.searchViewController, self.loginViewController]]; 
    [self.searchViewController.navigationController pushViewController:self.searchViewController.detailController animated:YES]; 
} else { 
     [self.tabBarController setViewControllers:@[self.searchViewController, self.profileViewController]]; 
     [self.searchViewController.navigationController pushViewController:self.searchViewController.detailController animated:YES]; 
    } 

} 

的想法是 - 設置選項卡,有我的控制器,然後推了我想在最前面。這是行不通的。

我該如何做到這一點?

回答

1

它看起來像問題是你的第一個標籤控制器子,self.searchViewController,導航控制器。如果您希望能夠在仍然保留在選項卡控制器內的情況下推入此控制器,則需要搜索視圖控制器(或任何第一個選項卡控制器子選項),以便將作爲導航控制器。

請注意,它的導航欄可以隱藏,所以它不會像導航控制器那樣看起來,但是當您按下時,您可以顯示導航欄並因此爲用戶提供一個清晰的迴歸方式。

或者,使用不同的接口。例如,當我有兩個選項卡,其中一個需要臨時更改時,在iPhone上,我使用的是呈現的視圖控制器:而不是使用push/pop,我使用use present/dismiss。在iPhone上,這會隱藏標籤欄,但是當我們完成後,我們會返回到相同的位置,以便界面清晰。 (在iPad上,標籤欄控制器內的顯示視圖不必隱藏標籤欄。)

+0

等待...這沒有任何意義 - 應用程序通常具有標籤控制器嗎?沒有任何意義,每個控制器都必須是導航控制器 – praks5432

+0

這可能是我沒有理解的問題。你能否畫出你想要達成的目標?可能有完全不同的方式...... – matt

相關問題