1

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

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

self.selectedViewController = myVController;

これは機能しません。

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

ありがとうございました。

更新:次のコードを試しました:

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

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

4

2 に答える 2

4

selectedIndexプロパティに関して、Appleのドキュメントは次のように述べています。

バージョン 3.0 より前のバージョンの iPhone OS では、このプロパティは選択されたタブ バー項目のインデックスのみを反映します。この値を、タブ バーには表示されず、代わりに More ナビゲーション コントローラーによって管理されるビュー コントローラーのインデックスに設定しようとしても、効果はありません。

おそらくこれはあなたの問題でしたか?

考えられる回避策の 1 つは、独自のビューを使用してUITabBar独自のビューを処理することです。次に、次のようなことができます。

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

UITabBarDelegateこの関数を実装して定義するだけで、アイテム選択メッセージを取得し、手動でビューを切り替えることができます。(ただし、高度なUITabBarController機能を使用している場合は、努力する価値がないかもしれません。)

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

}
于 2010-02-16T22:37:09.393 に答える
-1

私がやった方法は使用することですself.tabBarController.selectedIndex = 1(最初のタブはインデックス0にあります)。

于 2009-05-04T11:07:06.490 に答える