我有嵌入导航控制器的树形视图控制器。 第一个一个包含会话,第二个包含特定会话的消息。 第三是创建新会话。
The view controllers structure
当用户创建新会话时,他会通过会话重定向到第二个控制器。所以问题是当用户从第三个控制器重定向到第二个 vc并点击第二个视图控制器上的“返回”按钮时如何弹出在创建新会话后,从第二个视图控制器转到第一个。因为导航控制器会将用户弹出到上一个控制器 - 第三个控制器新会话。
P.S。 第一个视图控制器不是根控制器。之前有几个控制器。
答案 0 :(得分:2)
前段时间我问过,现在我变得更聪明,所以我能以一种非常正确的方式回答我自己的问题。
我不得不使用模态视图控制器。因此,当我们想要创建一个新的对话时,我们将第三个VC 显示为模态视图控制器,并且当创建对话时,我们将此委托给第一个VC 。在第一个视图控制器中,我正在创建第二个VC 并在之后推送它我解除了模态VC。
NewConversationViewController *vc = [NewConversationViewController new]; //any setups
[self.navigationController pushViewController:vc animated:NO];
[self dismissViewControllerAnimated:modalVC completion:nil];
答案 1 :(得分:0)
你需要做类似的事情。通过在导航栏项目上添加自定义后退按钮。
NSArray *viewContrlls=[[self navigationController] viewControllers];
for( int i=0;i<[ viewContrlls count];i++){
id obj=[viewContrlls objectAtIndex:i];
if([obj isKindOfClass:[ManageAlertsListViewController class]] ){
[[self navigationController] popToViewController:obj animated:YES];
return;
}
}