- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion
- (void)dismissViewControllerAnimated: (BOOL)flag completion: (void (^)(void))completion;
present的时候,当第二个View显示完全显示的时候,第一个View会到一旁休息(性能问题),但是根控制器还是第一个View的Vc;
当第二个View要dismiss的时候,第一个View会出现到原来位置等待第二个View消失,同时第二个View的Vc销毁
ps:一般Modal出来的是导航控制器
一般用push
两个控制器关联比较强的时候使用push,弱点的时候使用Modal(比如联系人列表和添加界面之后使用的就是Modal)
- (IBAction)jump {
// 展示MJTwoViewController,在第二个Vc中添加一个导航栏
MJTwoViewController *two = [[MJTwoViewController alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:two];
[self presentViewController:nav animated:YES completion:^{
NSLog(@"展示MJTwoViewController完毕.......");
}];
}
- (IBAction)cancel {
[self dismissViewControllerAnimated:YES completion:^{
NSLog(@"关闭MJTwoViewController....");
}];
// [self.navigationController dismissViewControllerAnimated:YES completion:^{
// NSLog(@"关闭MJTwoViewController....");
// }];
}