繁体   English   中英

XIB中的导航栏项目,显示了StoryBoard选项卡栏根视图控制器Segue

[英]Nav Bar Item in XIB that Presents a StoryBoard Tab Bar Root View Controller Segue

我的应用程序正在进行很多工作,哈哈。 在我的主菜单上,如果单击“聊天”,它将带您到Chat XIB。

如果您在导航栏中向左上方看,我有一个叫做“主菜单”的东西。 我希望这可以带我回到主菜单。 我的主菜单位于主故事板上。 聊天室是XIB。 两个视图都有选项卡栏。 我整天都在兜圈子,试图解决这个问题。 这是我尝试过崩溃的最后一件事:

-(void)MainMenu
{
    MainMenuTabBarControllerViewController *MMTBC = [[MainMenuTabBarControllerViewController alloc]init];
    [self.navigationController popToViewController:MMTBC animated:YES];
}
- (void)viewDidLoad
//-------------------------------------------------------------------------------------------------------------------------------------------------
{
    [super viewDidLoad];

    self.title = @"Group";
    //---------------------------------------------------------------------------------------------------------------------------------------------
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"New" style:UIBarButtonItemStylePlain target:self
                                                                             action:@selector(actionNew)];
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Main Menu" style:UIBarButtonItemStyleBordered target:self action:@selector(MainMenu)];

    //---------------------------------------------------------------------------------------------------------------------------------------------
    self.tableView.tableFooterView = [[UIView alloc] init];
    //---------------------------------------------------------------------------------------------------------------------------------------------
    chatrooms = [[NSMutableArray alloc] init];
}

由于您的应用程序中有两个选项卡栏控制器。 我认为使用导航控制器(按/弹出)来管理它们之间的过渡不是一个好主意。 尝试使用presentViewController

当按下聊天按钮时,显示第二个选项卡视图控制器。

- (IBAction)chatButtonPressed:(id)sender {
    ChatTabBarController *chatTabView = ... // allocate memory and initialize
    [self presentViewController:chatTabView animated:YES completion:nil];
}

当按下主菜单按钮时,将其关闭。

- (IBAction)mainMenuButtonPressed:(id)sender {
    [self dismissViewControllerAnimated:YES completion:nil];
}

编辑:

只是注意到几年前有人问过一个非常类似的问题。 看一下这个:

在目标c的视图中单击按钮后,如何按下标签栏控制器?

您应该使用情节提要。 尝试删除您的XIB,然后开始在情节Unwind segue上使用Unwind segue 您使用的是推式还是模态式? 它改变了一切。 迁移到情节提要之后,请阅读有关Unwind segues的Apple文档。

最好的祝福,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM