关闭模态,然后立即推视图控制器

Spe*_*efy 1 objective-c storyboard ios segue

如何解除模态然后立即推送另一个视图?

我在didSelectRowAtIndexPath中添加此代码:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
ChatTableViewController *chatVC = (ChatTableViewController*)[storyboard instantiateViewControllerWithIdentifier:@"chatVC"];
 [self dismissViewControllerAnimated:YES completion:^{
    [[self navigationController] pushViewController:chatVC animated:YES];
}];
Run Code Online (Sandbox Code Playgroud)

模态视图解散,但之后没有任何反应.有任何想法吗?

Joa*_*ona 8

您无法将视图控制器推送到视图中,如果它被解除则会消失,因此推送另一个视图是不合逻辑的,导致父视图控制器被删除.可能你有这个: - ViewController 1 - > Modal ViewController 2 - >想要解雇VC2并推送VC3

你要做的是 - ViewController 1 - >模态ViewController 2 - >解除VC2 - >在VC1上推送VC3

您可以通过通知来完成.最有效的方法是使用委托,在VC2上创建一个委托,当它解散时通知V1,然后只推送VC3.