滑出菜单移动到另一个视图控制器

slide out menu move to another view controller

我在使用 UIKit Dynamics 的滑出菜单上学习了这个很棒的教程,Slide Out Menu。代码略有修改以减少代码重复。我正在 MenuComponent Class 中处理触摸事件。现在,我试图在选择项目时移动到另一个视图控制器。菜单是用代码创建的,所以我不能使用 segue。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[[tableView cellForRowAtIndexPath:indexPath] setSelected:NO];
[self toggleMenu];
self.isMenuShown = NO;
   if(indexPath.row == 0){
      //move to the testViewController
}

如何删除当前视图并显示新视图?我的层次结构是一个导航控制器,然后是我的 testViewController。

编辑:我确实找到了我试过的这段代码,但我的问题是当菜单存在并且我尝试呈现视图时我得到一个错误:

testViewController *test = (testViewController*)[storyboard instantiateViewControllerWithIdentifier:@"testViewController"];
[self presentViewController:test animated:YES completion:nil];

Warning: Attempt to present <testViewController: 0x7c095470> on <MenuComponent: 0x7ae4ce50> whose view is not in the window hierarchy!

我能够通过为 MenuComponent 创建委托然后像这样传递视图来解决这个问题:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
   UIViewController * test = [storyboard instantiateViewControllerWithIdentifier:@"test"] ;
   [delegate didCallViewController:test];