0

このコードを使用して4番目のタブバーのボタンをクリックして1番目のタブバーアイテムのルートビューに移動したいのですが、タブバーの選択を変更するだけです

コードスニペット

[self.parentViewController.tabBarController setSelectedIndex:0];

ホームビューコントローラに表示される前のアクション。

メインページでホームビューコントローラーの直接ナビゲーションが必要です

この問題を解決するにはどうすればよいですか?

前もって感謝します

4

2 に答える 2

1

まず、最初のタブバーアイテムのUINavigationControllerを取得します。

UINavigationController *navController = [self.tabBarController.viewControllers objectAtIndex:0];

次に、ルートビューコントローラに移動します。

navController popToRootViewControllerAnimated:NO];

それで全部です。:)

于 2013-03-12T09:30:47.940 に答える
0

選択したタブ バー ナビゲーション スタックをルートにポップする必要があります。以下のようにいくつかの方法でこれを実現できます。

AppDelegate で tabbarcontroller デリゲート関数を実装し、tabbarcontroller デリゲートを AppDelegate に設定していることを確認してください。

-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
 //Check the selected index to 0
 if ([viewController isKindOfClass:[UINavigationController class]] && tabBarController.selectedIndex == 0) { 
    [(UINavigationController *)viewController popToRootViewControllerAnimated:NO]; 
 }
}
于 2013-03-12T09:33:22.600 に答える