如何在特定索引处呈现UITabBarController?

时间:2018-02-03 16:25:52

标签: ios objective-c uitabbarcontroller uipageviewcontroller

现在我已经让我的用户完成了UIPageViewController的入职,然后点按“完成”按钮转到我UITabBarController的个人资料标签。但是,配置文件选项卡位于索引[2],下面的代码将我带到索引[0]。

UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"tabHostController"];
[self presentViewController:vc animated:YES completion:nil];

点击UITabBarController中的“完成”按钮后,如何在特定索引[2]上显示UIPageViewController

请回答Objective-c中的答案。

2 个答案:

答案 0 :(得分:1)

您可以更改 TabBarController selectedIndex属性,使其打开您想要的索引

UITabBarController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"tabHostController"];
vc.selectedIndex = 2; // or [vc setSelectedIndex:2];
[self presentViewController:vc animated:YES completion:nil];

答案 1 :(得分:1)

我在我的应用程序中使用了以下内容,我必须在其中显示第3个选项卡。 TabBarController viewDidLoad中只有一行代码:

[self setSelectedIndex:2];  

如果你必须在开始时只显示第3个标签,即在Onboarding之后,对于其余的启动,你必须在第3个标签的viewDidLoad的UIViewController中显示第1个标签,指定一个布尔值NSUserDefault

[[NSUserDefaults standardUserDefaults]setBool:YES forKey:@"loadThirdTab"];  

现在,您对{strong> TabBarController 的viewDidLoad将是:

if( [[NSUserDefaults standardUserDefaults]objectForKey:@"loadThirdTab"]] != nil &&[[NSUserDefaults standardUserDefaults]boolForKey:@"loadThirdTab"])
   [self setSelectedIndex:0];
else
    [self setSelectedIndex:2];