2012-04-30 5 views
0

私は選択されたインデックスを設定するために呼び出されたUIViewControllerのボタンを使用したいtabBarを持つアプリケーションを持っています。ナビゲーション内のTabBar selectedindexボタン

私の階層構造は、次のようになりますので、タブバーは、ストーリーボードで作成されました:

タブ                         :アイデアはこうです

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

 タブB                            タブC                            タブD
        |                                             |                                           |                                           |
navCon1                   navCon2                 navCon3                   navCon4

私は1-4見られるように(の一つ上のボタンをしたいです、すでに正しく呼ばれている)Navigation Coボタンを使用して親TabBarControllerのselectedIndexをA B CまたはDに設定するntrollers。私は実用的ボタンを追加しようとしたが、私は変更するには、選択したインデックスを強制するためにtabBarBontrollerを参照する方法を理解していない:

私はrefreshPage

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

と呼ばれる機能を持っているので、これは正常に動作します私はlikley私はtabBarControllerにナムを与えている不適切

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

親tabBarControllerをreferenceingていますので、これは動作しません。 e、tabBar内の..しかし、私はそれらを参照するためにこれらの名前を使用することはできません。どんな勧告も認められるだろう。

これは、私がTabbarの子をデフォルトのメインタブ(または親View Controller)に戻したいときに、私が別のタブに移動したときに、TAb Aでコントローラにナビゲートするときの問題です私はタブに移動した場合など、BタブAが自動的にそれの上に戻すだろう1、もしくは1aは、heriarchyだ...しかし、それはまた別の問題:)

ありがとうです、 シルバータイガー

答えて

0

使用最初のメソッドと "refreshPage"メソッド[self.tabBarController selectedIndex:1]を呼び出します。

+0

nah .. refreshPageは現在のページをリロードする別の関数です...私はその特定の関数のタブを変更したくありません。私は2つの機能を持っている理由を指定して、タブを選択する別のボタンが必要です。 – Silvertiger

+0

申し訳ありませんが、私はそれらが異なるボタンであることを認識しませんでした。しかし、同じ原理がそのまま適用されます。ボタンがタップされたときに実行される "goBack"という関数を作成します。その機能では、選択したタブインデックスを設定します。 – oojoe

+0

あなたが見ることができるように..私は(* backButton)を作成した2番目のボタンはちょうどそれをやっていると思った...しかし、それは動作していません。私はそれが間違ってタブバーを参照しているためだと思う... – Silvertiger

関連する問題