视图间的跳转——导航视图控制器推出:
1、如需返回到某一级控制器,使用创建一个新的视图控制器是不合适的,导航视图控制器是栈区管理,root还是存在于最下面的。
导航视图控制器是一个数组、一个容器,TA是有序的,TA的viewControllers属性,可以获取这个数组里的所有视图控制器,并且调用objectAtIndex:方法即可返回相应下标下的子视图控制器:
UIViewController *vc = [self.navigationController.viewControllers objectAtIndex:0];
[self.navigationController popToViewController:vc animated:YES];
2、引用计数的改变:
[self.navigationController pushViewController:second animated:YES];
// 执行入栈操作,引用计数 +1;出栈,引用计数 -1
// second覆盖到root上面
视图间的跳转——模态:
跳转动画见:?[]
LoginViewController.m的 注册按钮 的事件实现:
- (void)regist {
// 创建注册页面的视图控制器对象
RegistViewController *registVC = [[RegistViewController alloc] init];
// 模态的过渡风格!!!
naVC.modalTransitionStyle = UIModalTransitionStylePartialCurl;
// 模态推出新的视图控制器
[self presentViewController:registVC animated:YES completion:nil];
[registVC release];
}
RegistViewController.m的 返回按钮 的事件实现:
- (void)back {
[self dismissViewControllerAnimated:YES completion:nil];
}