使用方法
- push&pop
使用UINavigationController时使用push方法:
[self.navigationController pushViewController:xxx animated:BOOL];
返回时使用pop方法:
[self.navigationController popViewControllerAnimated:BOOL];
- present&dismiss
其他时候用present方法:
[self presentViewController:xxx animated:BOOL completion:nil];
返回时用dismiss:
[self dismissViewControllerAnimated:BOOL completion:nil]
对比
- present和push方法都用于推出新的界面。 present和dismiss对应使用,push和pop对应使用。
- present弹出的视图是模态视图(类似于临时视图),只能逐级返回;push所有视图由视图栈控制,可返回任意一层。
- 执行完push后会在下个界面navigation的left bar自动添加back按钮,它的响应方法就是返回,所以一般不需要写返回方法,点back按钮即可。
present需用[self dismissModalViewControllerAnimated:BOOL]
返回上一个界面。 - present一般用于不同业务界面的切换,push一般用于同一业务不同界面之间的切换。