以编程方式从视图控制器转到选项卡栏的视图

3

输入图像描述

您好,这是我的故事板(Storyboard),我想从“第一个视图控制器”跳转到“已登录视图控制器”。

我通常使用

[self performSegueWithIdentifier:@"s1" sender:self];

但是如果我添加选项卡控制器,这行代码将无法工作,该怎么修复?
3个回答

3
如果您已经嵌入了导航控制器,可以使用以下内容。
UIStoryboard *myStoryBoard =[UIStoryboard storyboardWithName:@"Story_Board_Name" bundle:nil];
 UITabBarController *tabBarController = [myStoryBoard instantiateViewControllerWithIdentifier:@"TABid"];
self.tabBarController.selectedIndex = 0;
 [self.navigationController pushViewController:self.tabBarController animated:YES];

或者您可以尝试这个。
UIStoryboard *myStoryBoard =[UIStoryboard storyboardWithName:@"Story_Board_Name" bundle:nil];
 UITabBarController *tabBarController = [myStoryBoard instantiateViewControllerWithIdentifier:@"TABid"];
self.tabBarController.selectedIndex = 0;
[self performSegueWithIdentifier:@"s1" sender:self];

如果 LogedInViewController 嵌入了一个 UINavigationController,那该怎么办呢?在这种情况下,上面的代码将无法正常工作。在我的场景中,使用这段代码会将我带到 UITabbarController,但是无法通过点击其他选项卡来切换,看起来好像被卡住了。请问有什么解决方案吗?谢谢。 - Tulon

0

首先在Storyboard中给该选项卡分配“tabbarid”

UITabBarController *tabBarController1 = [self.storyboard instantiateViewControllerWithIdentifier:@"tabbarid"];
    tabBarController1.selectedIndex = 1;
    [self presentViewController:tabBarController1 animated:YES completion:nil];

0
给你的tabbarcontroller在storyboard中添加一个标识符,然后像这样做一些操作。
 UIStoryboard *myStoryBoard =[UIStoryboard storyboardWithName:@"Your_Story_Board_Name" bundle:nil];
 TabViewController *tabBarController = [myStoryBoard instantiateViewControllerWithIdentifier:@"TAB_Identifier"];
 [self presentViewController:tabBarController animated:YES completion:nil];  

希望这能有所帮助


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接