2011-12-01 11 views
19

今日はiOS 5とストーリーボードで遊んでいました。私は現在、メインのストーリーボードがuitabbarcontrollerで始まり、次にnavigationviewcontrollerと最後にuiviewcontrollerで始まるようにしています。すべてうまく動作します。ストーリーボード - UITabBarController

私が探しているのは、アプリケーションの起動時にuitabbarcontrollerが表示しているviewconotrollerを動的に設定する方法です。だから私はCoreDataを使用して、テーブルが空で、それが2番目のviewcontroller(タブバーアイテム2)を選択し、最初のviewcontroller(タブバーアイテム1)を選択していないかどうかを確認したいと思います。

ストーリーボードが表示されているものを処理しているので、私はこれを設定できるアプリデリゲートでどのようにしているのか分かりませんでしたか?

誰かが私に正しい方向を向けることを願っています!

ありがとうございます!

+0

よろしくお願いします。ここに投票があるので、投票することもできます – Farini

答えて

27

あなたのアプリケーションデリゲートにはウィンドウプロパティがあります。つまり、この例のように私のアプリデリゲートのアプリケーションのいずれかから、(あなたのUITabBarControllerとなります)ストーリーボードの初期ビューコントローラへのポインタを取得するために使用することができます:didFinishLaunchingWithOptions:

UITabBarController *tabController = 
    (UITabBarController *)self.window.rootViewController; 
tabController.selectedIndex = 
    [defaults integerForKey:kOptionLastTabSelectedKey]; 
tabController.delegate = self; 
+0

Perfetct ....ありがとう! – Clarke76

+0

コードをありがとう。私はそれを使用しました。しかし、ストーリーボードに他のView Controllerをインストールするのはどうですか?それを行う方法はありますか? – roocell

+0

UIStoryboardの - instantiateViewControllerWithIdentifier:メソッドがあります(アクセスしたいビューコントローラの識別子文字列を設定していると仮定します)。新しいビューコントローラインスタンスを作成*します。あなたのアプリのストーリーボードセグから作成されたものはもちろんソースビューコントローラのprepareForSegue:メソッドで利用できます。 – abelsey

0

私のために私が使用してタブバーにアクセスすることができますself.navigationController.parentViewController; これは常にタブバーコントローラを返します。

関連する問題