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

时间:2015-02-16 16:00:50

标签: objective-c uiviewcontroller

我使用UIKit Dynamics Slide Out Menu在幻灯片菜单上关注了这个很棒的教程。代码稍作修改,以减少代码重复。我正在处理MenuComponent类中的触摸事件。现在,我正在尝试在选择项目时移动到另一个视图控制器。菜单是用代码创建的,所以我不能使用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!

1 个答案:

答案 0 :(得分:0)

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

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