1.創建導航控制器
UINavigationController *nav = [UINavgationController alloc] init];
2.創建控制器添加到導航控制器中
1)OneViewController *one = [OneViewControler alloc] init];
[nav pushViewController: one animated:YES];//法1
2)[nav addChildController: one];//法2
3)nav.viewControllers = @[one];//法3
注意:nav.childViewControllers = @[one];//錯誤,原因:childViewControllers屬性readonly
4)UINavigationController *nav = [[UINavgationController alloc] initWithRootViewController: one];//法4
3.獲取控制器的棧
nav.viewControllers;
nav.childViewController;
4.獲取棧頂控制器
nav.topViewController;
5.導航欄(navigationBar)
1)一個導航控制器只有一個導航條
2)導航條上顯示的內容和棧頂的控制器有關,因此,其內容由棧頂的控制器確定
3)控制導航條的內容:
3.1)self.navigtionItem.title = @"This is title";//設置標題
3.2)self.navigtionItem.titleView; //
3.3)self.navigtionItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWith...]; //添加barbutton
3.4)self.navigtionItem.rightBarButtonItems = @[barButton1,barButton2];//添加多個barButton
4)導航控制器的“返回按鈕”
4.1)返回按鈕顯示的內容由上一個控制器控制
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:nil action:nil];
6.移除當前棧頂控制器
[self.navigationController popViewController popViewControllerAnimated:YES];
7.返回根控制器
[self.navigationController popRootViewControllerAnimates:YES];
8.返回指定控制器
[self.navigationController popToViewController:(UIViewController *) animated:(BOOL)];