2009-05-04 5 views
1

私は、プログラムでタブバーの特定のタブを開く必要があります。UITabBarControllerのビューを開く

self.selectedViewController = myVController; 

動作しません:

は、私は私のUITabBarControllerから次のメソッドを呼び出してみました。

タブを開く正しい方法は何ですか?

ありがとうございます。

アップデート:私は、次のコードを試してみました:

self.selectedViewController = [ [self viewControllers] objectAtIndex: 0]; 

私に望ましいタブを開きます(それが選択されている)が、アクティブビューは更新されていないされています。

答えて

4

は、Appleのドキュメントは言う: バージョン3.0にiPhone OSのバージョンでは

前、このプロパティは反映 のみ選択したタブバーの項目 のインデックスを。この値を に設定しようとすると、タブバーに表示されない のビューコントローラのインデックスが表示されますが、 コントローラではなく、 コントローラで管理されます。

おそらくこれが問題でしたか?

考えられる回避策は、独自のUITabBarを使用して独自のビューを処理することです。

[tabBar setSelectedItem:[tabBar.items objectAtIndex:1]]; 

だけUITabBarDelegateを実装し、項目選択メッセージを取得し、手動でビューを切り替えるには、この関数を定義する:次に、あなたはこのような何かを行うことができます。 (アドバンスドUITabBarControllerの機能を使用している場合は、あなたの努力の価値がないかもしれません)。

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item 
{ 

} 
-1

私がやったやり方はself.tabBarController.selectedIndex = 1(最初のタブはインデックス0です)です。 selectedIndexプロパティについて

+0

私のコードと同じ問題があります。ビューが常に更新されているわけではありません。 –

関連する問題