- push和present都可以推出新的界面
present和dismiss对应使用,push和pop对应使用
需要注意的一点是:present只能逐级返回,而push所有视图都由视图栈控制,可以返回上一级,也可以返回到根视图控制器或者其他控制器。 - 在开发过程中,经常会遇到两个视图控制器的转换。而导航控制器是最常用的一种,这里简单介绍一下push和present的使用和区别吧
- 1、使用使用UINavigationController时使用push方法: 例如:[self.navigationController pushViewController:xxx animated:NO];
返回时用pop: 例如:[self.navigationController popViewControllerAnimated:NO];
2、其他时候用present方法: 例如:[self presentViewController:xxx animated:NO completion:nil]; ;
返回时用dismiss: 例如:[self dismissViewControllerAnimated:NO completion:nil];
present和dismiss
NextViewController *next = [[NextViewController alloc] init];
[self presentViewController:next animated:YES completion:nil];
[self dismissViewControllerAnimated:NO completion:nil];
push和pop
NextViewController *next = [[NextViewController alloc] init];
[self.navigationController pushViewController:next animated:YES];
[self.navigationController popViewControllerAnimated:YES];
[self.navigationController popToRootViewControllerAnimated:YES];
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES];