/**
UINavigationController基本使用
> 帮助我们管理控制器的跳转操作
> 1.实例化导航控制器
> 2.管理多控制器
> push 将其他的控制器显示出来
> pop 弹出,将正在显示的控制器移除出
> 3.通常使用导航控制器
> 创建导航控制器的时候就指定一个根控制器
> 在根控制器内执行一些操作的时候,才进行跳转
*/
//.导航控制器并设置为窗口的根控制器
// 创建导航控制器的根控制器
CZRedController *redVc = [[CZRedController alloc] init];
// 创建导航控制器的同时指定它的根控制器
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:redVc];
nav.view.backgroundColor = [UIColor orangeColor];
//移除当前显示的控制器
[self.navigationController popViewControllerAnimated:YES];
//返回到根控制器
[self.navigationController popToRootViewControllerAnimated:YES];
//跳转到下一个显示的控制器
// 1.创建蓝色控制器
CZBlueController *blueVc = [[CZBlueController alloc] init];
// 2.获取当前控制器的导航控制器执行跳转
[self.navigationController pushViewController:blueVc animated:YES];
//返回到指定的控制器
//self.navigationController.viewControllers; 保存的是当前导航控制器栈内的所有控制器
UIViewController *vc = self.navigationController.viewControllers[1];
[self.navigationController popToViewController:vc animated:YES];
//根据identifier执行指定的segue去跳转控制器,sender为跳转时可传过去的参数
[self performSegueWithIdentifier:@"login2contact" sender:@"123"];
//在执行控制器跳转前做的准备
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
//获取源控制器 segue.sourceViewController
//通过segue获取目标控制器
UIViewController * targetVC = segue.destinationViewController;
//给目标控制器的属性赋值
// targetVC.navigationItem.title
// targetVC.navigationItem.titleView
targetVC.title = [NSString stringWithFormat:@"%@的联系人",self.userNameField.text];
}
浙公网安备 33010602011771号