我目前看到的是当我向另一个StoryBo菜单中的另一个StoryBoard ViewController发送时。它显示了ViewController但没有显示菜单标签栏。
这是我的代码
- (IBAction)endCall:(id)sender {
NSLog(@"End Call");
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"callHistory"];
[self presentViewController:vc animated:YES completion:nil];
}
注意:用户最近历史视图控制器仅包含ViewController .m并链接到Storyboard上的Storyboard Tabbar Controller,它不包含TabbarController类
答案 0 :(得分:0)
我建议您使用UITabBarController作为标签栏,然后转到标签栏视图控制器。然后在tabBarViewController viewdidload()方法中,您可以选择要显示的选项卡。
我个人会在tabBarViewController.h中声明一个名为“backFromStart”的BOOL属性,如此 - >
@property (nonatomic, assign) BOOL backFromStart;
然后在startCellViewController的prepareForSegue :()方法中设置此BOOL,如下所示:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"backToTabBarVC"])
{
TabBarVC *destinationVC = segue.destinationViewController;
destinationVC.backFromStart = YES;
// Pass any other data to the callHistoryVC if required like so->
callHistoryVC *historyVC = [destinationVC.viewControllers objectAtIndex:0]; // objectAtIndex 0 as this is your first and only tab.
}
}
如果BOB“backFromStart”在tabBarController.m中设置了viewdidload()方法,最后选择选项卡:
if(backFromStart) {
backFromStart = NO;
[self setSelectedIndex:0];
}
注意:既然你只有一个标签,那么BOOL并不是真正需要的,只是在你决定添加更多标签的情况下!