任何控制器都能通过Modal方式切换。
Modal的默认效果是:新显示的控制器从屏幕底部向上,直到盖住之前的控制器为止。
假设有One和Two两个控制器:
One到Two的Modal方法:present...方法。
TwoViewController *two = [[TwoViewController alloc] init];
[self presentViewController:two animated:YES completion:^{
NSLog(@"展示完毕");
}];
Two返回One的方法:dismiss...方法。
[self dismissViewControllerAnimated:YES completion:^{
NSLog(@"关闭结束");
}];
Modal实现原理:
当Two覆盖One时,One会被移开,当Two退出时,One再拿回来,不变的是根控制器。
One通过presentedViewController引用Two,Two通过presentingViewController引用One。
给一个控制器添加导航控制器的最快方法是直接给这个控制器包装一个导航控制器,也就是将导航控制器的rootViewController设置为当前控制器:
TwoViewController *two = [[