//1.創建窗口對象
self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
//2.首先創建視圖控制器
FirstViewController *firstVC = [[FirstViewController alloc]init];
firstVC.view.backgroundColor = [UIColor blueColor];
//視圖控制器存在系統屬性 .navigationController用來保存導航控制器對象
NSLog(@"加入導航控制器之前:%@",firstVC.navigationController);
//1.導航控制器是管理視圖控制器的容器類型的視圖控制器
//2.導航控制器是以棧的形式管理視圖控制器的
//3.在導航控制器上顯示的是在導航控制器的棧頂位置的視圖控制器的view
//4.當往導航控制器的棧中加入一個視圖控制器時,加入的代碼會自動設置視圖控制器的navigationController的屬性爲導航控制器
//3.然後創建導航控制器,並且將firstVC作爲導航控制器的根視圖控制器
UINavigationController *navCtrl = [[UINavigationController alloc]initWithRootViewController:firstVC];
NSLog(@"加入導航控制器之後:%@",firstVC.navigationController);
navCtrl.view.backgroundColor = [UIColor redColor];
//導航控制器是以數組的形式來模擬棧,viewControllers屬性中保存了導航控制器上的所有的視圖控制器
//當壓入一個視圖控制器時,會自動的將這個視圖控制器添加到viewControllers數組中
NSLog(@"%@",navCtrl.viewControllers);
//4.最後設置導航控制器爲窗口的根視圖控制器
self.window.rootViewController = navCtrl;
//讓窗口可見
[self.window makeKeyAndVisible];
- (void)createBtn
{
UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(30, 70, 300, 40)];
[btn setTitle:@"進入下一級VC" forState:UIControlStateNormal];
btn.titleLabel.font = [UIFont systemFontOfSize:26];
[btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
}
//定義點擊響應方法
- (void)btnClick:(UIButton *)btn
{
SecondViewController *secondVC = [[SecondViewController alloc]init];
//獲取當前對象的導航控制器,並將新的視圖控制器壓入進來
[[self navigationController] pushViewController:secondVC animated:YES];
}
//創建窗口對象
self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
//創建導航控制器
UINavigationController *navCtrl = [[UINavigationController alloc]init];
//設置導航控制器爲窗口的根視圖控制器
self.window.rootViewController = navCtrl;
navCtrl.view.backgroundColor = [UIColor redColor];
FirstViewController *firstVC = [[FirstViewController alloc]init];
firstVC.view.backgroundColor = [UIColor blueColor];
//firstVC.view.alpha = 0.5;
SecondViewController *secondVC = [[SecondViewController alloc]init];
secondVC.view.backgroundColor = [UIColor blueColor];
secondVC.view.alpha = 0.5;
//往導航控制器中壓入視圖控制器
//在導航控制器上顯示的view是最後壓入的控制器的view
[navCtrl pushViewController: firstVC animated:YES];
[navCtrl pushViewController:secondVC animated:YES];
//讓窗口可見
[self.window makeKeyAndVisible];