IOS開(kāi)發(fā)UI篇—導(dǎo)航控制器屬性和基本使用
一移必、導(dǎo)航控制器的一些屬性和基本使用
1.把子控制器添加到導(dǎo)航控制器中的四種方法
(1)
1.創(chuàng)建一個(gè)導(dǎo)航控制器
UINavigationController *nav=[[UINavigationControlleralloc]init];
2.設(shè)置導(dǎo)航控制器為window的根視圖
self.window.rootViewController=nav;
3.添加
YYOneViewController *one = [[YYOneViewController alloc] init];
[nav pushViewController:one animated:YES];
(2)
1.創(chuàng)建一個(gè)導(dǎo)航控制器
UINavigationController *nav=[[UINavigationControlleralloc]init];
2.設(shè)置導(dǎo)航控制器為window的根視圖
self.window.rootViewController=nav;
3.添加
YYOneViewController *one = [[YYOneViewController alloc] init];
[nav addChildViewController:one];
(3)
1.創(chuàng)建一個(gè)導(dǎo)航控制器
UINavigationController *nav=[[UINavigationControlleralloc]init];
2.設(shè)置導(dǎo)航控制器為window的根視圖
self.window.rootViewController=nav;
3.添加
YYOneViewController *one = [[YYOneViewController alloc] init];
nav.viewControllers=@[one];(添加到導(dǎo)航控制器的棧中)
說(shuō)明:nav.viewControllers;== nav.childViewControllers;注意該屬性是只讀的燃乍,因此不能像下面這樣寫(xiě)领突。nav.childViewControllers = @[one];
(4)最常用的方法
YYOneViewController *one=[[YYOneViewController alloc]init];
UINavigationController *nav=[[UINavigationController alloc]initWithRootViewController:one];
2.當(dāng)前子控制器界面導(dǎo)航欄的標(biāo)題以及對(duì)應(yīng)返回標(biāo)題的設(shè)置
self.navigationItem.title=@"第一個(gè)界面";
self.navigationItem.backBarButtonItem=[[UIBarButtonItemalloc]initWithTitle:@"返回一" style:UIBarButtonItemStylePlain target:nilaction:nil];
修改導(dǎo)航欄上返回按鈕上的字行嗤,例如把back修改為返回
注意:這個(gè)需要在跳轉(zhuǎn)之前到視圖控制器中寫(xiě),而不是在跳轉(zhuǎn)之后到控制器中寫(xiě)
UIBarButtonItem *backIetm = [[UIBarButtonItem alloc] init];
backIetm.title = @"返回";
self.navigationItem.backBarButtonItem = backIetm;
3.給導(dǎo)航欄添加按鈕
說(shuō)明:可添加一個(gè),也可以添加多個(gè)(數(shù)組),添加導(dǎo)航欄左邊的按鈕(添加一個(gè)相機(jī)圖標(biāo)的按鈕),會(huì)蓋掉返回
self.navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:nil action:nil];
4.界面跳轉(zhuǎn)
跳轉(zhuǎn)到第二個(gè)界面(當(dāng)前為第三個(gè)鹦倚,移除當(dāng)前棧頂?shù)目刂破?
[self.navigationControllerpopViewControllerAnimated:YES];
移除處理?xiàng)5卓刂破髦獾乃锌刂破?/p>
[self.navigationControllerpopToRootViewControllerAnimated:YES];
只要傳入棧中的某一個(gè)控制器,就會(huì)跳轉(zhuǎn)到指定控制器
[self.navigationController popToViewController:<#(UIViewController *)#> animated:<#(BOOL)#>];
5、隱藏導(dǎo)航欄
[self.navigationController setNavigationBarHidden:YES animated:YES];