UITabBarControllerでビューを開きます
-
03-07-2019 - |
質問
タブバーの特定のタブをプログラムで開く必要があります。
UITabBarControllerから次のメソッドを呼び出してみました:
self.selectedViewController = myVController;
機能しません。
タブを開く正しい方法は何ですか?
ありがとう。
更新:次のコードを試しました:
self.selectedViewController = [ [self viewControllers] objectAtIndex: 0];
これにより望ましいタブが開きます(選択されています)が、アクティブビューは更新されていません。
解決
selectedIndex
プロパティに関して、Appleのドキュメントは次のように述べています:
以前のバージョンのiPhone OS バージョン3.0、このプロパティは反映します 選択されたタブバー項目のインデックス のみ。この値を設定しようとしています あるView Controllerのインデックス タブバーには表示されませんが、 代わりに、その他のナビゲーションによって管理されます コントローラー、効果はありません。
おそらくこれがあなたの問題だったのですか?
可能な回避策の1つは、独自の UITabBar
を使用して、独自のビューを処理することです。その後、次のようなことができます:
[tabBar setSelectedItem:[tabBar.items objectAtIndex:1]];
UITabBarDelegate
を実装し、この関数を定義して、アイテム選択メッセージを取得し、ビューを手動で切り替えます。 (高度な UITabBarController
機能を使用している場合、努力する価値はないかもしれません。)
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
}
他のヒント
私がやった方法は、 self.tabBarController.selectedIndex = 1
を使用することです(最初のタブはインデックス0にあります)。
所属していません StackOverflow