-1

私のアプリには 4 つのタブがあり、最初のタブには : 4 つのビューがあります。2 番目のビューには、3 番目のタブ ビューを開くボタンが 1 つあります。しかし、選択したタブのインデックスは 1 つです。どうすればサードに変更できますか。

タブ バーの私のコードは、次のように APPDelegate にあります。

  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
     UINavigationController *nav1 = [[UINavigationController alloc] init];
         UIViewController *viewController1 = [[[CarAccidentAppViewController alloc]
     initWithNibName:@"CarAccidentAppViewController_iPhone" bundle:nil]
     autorelease];
        nav1.viewControllers = [NSArray arrayWithObjects:viewController1, nil];

         //for steps tab...

         UINavigationController *nav2 = [[UINavigationController alloc] init];
         UIViewController *viewController2 = [[[FirstSteps alloc] initWithNibName:@"FirstSteps" bundle:nil] autorelease];
         nav2.viewControllers = [NSArray arrayWithObjects:viewController2, nil];

         //for profiles tab...

        UINavigationController *nav3 = [[UINavigationController alloc] init];
         UIViewController *viewController3 = [[[Profiles alloc] initWithNibName:@"Profiles" bundle:nil] autorelease];
         nav3.viewControllers = [NSArray arrayWithObjects:viewController3, nil];

         //for contact us tab...

        UINavigationController *nav4 = [[UINavigationController alloc] init];
        UIViewController *viewController4 = [[[ContactUs alloc] initWithNibName:@"ContactUs" bundle:nil] autorelease];
         nav4.viewControllers = [NSArray arrayWithObjects:viewController4, nil]; self.tabBarController = [[[UITabBarController alloc] init]
     autorelease];
         self.tabBarController.viewControllers = [NSArray arrayWithObjects:nav1,nav2,nav3,nav4 ,nil];

         self.window.rootViewController=self.tabBarController;
        [self.window makeKeyAndVisible];
         return YES; 

}
4

4 に答える 4

3

Swift 2では、次のように呼び出すことができます。

    self.tabBarController?.selectedIndex = 0
于 2016-06-22T17:21:21.807 に答える
2

アプリ内でプログラムでタブを切り替える最も簡単な方法は、これを行うことです..

[self.tabBarController setSelectedIndex:3];

私は自分のアプリの 1 つでこれを使用していますが、非常にうまく機能します。

プラズマ

于 2012-09-07T11:06:14.090 に答える
1
 self.tabBarController.selectedViewController=[self.tabBarController.viewControllers objectAtIndex:3];

これを試して。これは役に立ちます。

于 2012-09-07T09:01:02.873 に答える
1

ボタンクリック時

[self.navigationController pushViewController:YourView animated:YES];
[self.tabBarController setSelectedIndex:index];
于 2012-09-07T07:42:52.927 に答える