2012-04-30 62 views
0

我有一個tabBar應用程序,我想使用被調用的UIViewControllers上的按鈕來設置選定的索引。TabBar selectedindex按鈕導航內查看

使用TabBar是在故事板創建的,因此我的層次結構是這樣的:

mainTabBarController Scene 
    First Reponder 
    mainTabBarController 
    mainTabBar 
    multiple relationships for the proper ViewControllers 

的想法是這樣的:

選項卡中將                            tab B                            標籤Ç                           標籤d
        |                                             |                                           |                                           |
navCon1                   navCon2                 navCon3                   navCon4

我想上的一個(如圖1-4的按鈕,已經正確調用)導航公司使用按鈕將父級TabBarController的selectedIndex設置爲A B C或D的ntroller。我試着務實添加按鈕,但我不明白如何引用tabBarBontroller,以迫使選定的指標發生變化:

這工作得很好,因爲我有一個名爲refreshPage

UIBarButtonItem *refreshButton = [[UIBarButtonItem alloc] 
           initWithMarButtonStyleItem:UIBarButtonSystemItemRefresh target:self; 
           action:@selector(refreshPage:) 
           ]; 

功能這不起作用,因爲我likley referenceing不當

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] 
           initWithMarButtonStyleItem:UIBarButtonSystemItemCancel target:self; 
           action:[self.tabBarController selectedIndex:1] 
           ]; 

我已經給tabBarController不結盟運動父tabBarController e和它內的tabBar ..但我似乎無法使用這些名稱來引用它們。任何建議,將不勝感激。

這只是我遇到的一個問題,因爲我還想讓TabBar子項默認返回到主選項卡(或父級視圖控制器),當我轉到另一個選項卡時,以便在TAb A上導航到控制器1,或1A等,如果我去片乙選項卡會自動恢復到它的頂部是heriarchy ...但是,這是另一個問題:)

謝謝 銀虎

回答

0

使用第一個方法,並在「refreshPage」方法調用[self.tabBarController selectedIndex:1]。

+0

nah .. refreshPage是重新加載當前頁面的單獨函數...我不想更改該特定函數中的選項卡。我想要一個單獨的按鈕來選擇標籤,因爲我指定了這是爲什麼我將它作爲2個函數。 – Silvertiger

+0

對不起,我沒有意識到他們是不同的按鈕。但同樣的原則仍然適用。創建一個名爲「goBack」的函數,該函數在點擊該按鈕時運行。並在該功能中設置選定的標籤索引。 – oojoe

+0

正如你所看到的那樣。我認爲我創建的第二個按鈕(* backButton)就是這樣做的......但它不起作用。我認爲這是因爲我錯誤地引用了標籤欄... – Silvertiger