私は選択されたインデックスを設定するために呼び出された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だ...しかし、それはまた別の問題:)
ありがとうです、 シルバータイガー
nah .. refreshPageは現在のページをリロードする別の関数です...私はその特定の関数のタブを変更したくありません。私は2つの機能を持っている理由を指定して、タブを選択する別のボタンが必要です。 – Silvertiger
申し訳ありませんが、私はそれらが異なるボタンであることを認識しませんでした。しかし、同じ原理がそのまま適用されます。ボタンがタップされたときに実行される "goBack"という関数を作成します。その機能では、選択したタブインデックスを設定します。 – oojoe
あなたが見ることができるように..私は(* backButton)を作成した2番目のボタンはちょうどそれをやっていると思った...しかし、それは動作していません。私はそれが間違ってタブバーを参照しているためだと思う... – Silvertiger