-1

このタブバーをビューコントローラー1に追加しましたが、完全に機能します。唯一の問題は、次の機能を実行することです[self.navigationController popViewControllerAnimated:YES];が、タブバーボタンがタッチされたときにビューコントローラー2で実行します。最善の策は何でしょうか?

UINavigationController *homeNavigationController = [[UINavigationController alloc] initWithRootViewController:homeViewController];
homeNavigationController.tabBarItem = [[DSTabBarItem alloc] initWithFinishedSelectedImage:[UIImage imageNamed:@"home"] 
                                                            finishedUnselectedImage:[UIImage imageNamed:@"home1"]
                                                                                 iconSize:CGSizeMake(76, 59)
                                                                                tag:0];
[tabBarViewControllers addObject:homeNavigationController];
4

2 に答える 2

0

プログラムでtabbarcontrollerを追加した場合。そして、そのクラスに次のメソッドを追加します。次に、ナビゲーションコントローラーがルートビューに変わります。そして、あなたはあなたの要件へのifの間にあなた自身を置くことができます。

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
    if ([self.tabBarController.selectedViewController isKindOfClass:[UINavigationController class]])
    {
        [(UINavigationController*)self.tabBarController.selectedViewController popToRootViewControllerAnimated:YES];


    }

}
于 2013-03-19T03:52:06.440 に答える
0
DetailSettingsViewController *settings = [[DetailSettingsViewController alloc] initWithNibName:@"DetailSettingsViewController" bundle:nil];

[self.navigationController pushViewController:settings animated:YES];
于 2013-03-19T09:11:44.340 に答える