版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
IOS開發(fā)UI篇導航控制器屬性和基本使用IOS開發(fā)UI篇導航控制器屬性和基本使用作者:文頂頂公布日期:2014-06-0520:01:55我來說兩句(0)0Tag標簽:控制器屬性IOS開發(fā)UI篇—導航控制器屬性和基本使用一、導航控制器的一些屬性和基本使用1.把子控制器增添到導航控制器中的四種方法1)1.創(chuàng)立一個導航控制器UINavigationController*nav=[[UINavigationControlleralloc]init];2.設(shè)置導航控制器為window的根視圖self.window.rootViewController=nav;3.增添YYOneViewController*one=[[YYOneViewControlleralloc]init];[navpushViewController:oneanimated:YES];2)1.創(chuàng)立一個導航控制器UINavigationController*nav=[[UINavigationControlleralloc]init];2.設(shè)置導航控制器為window的根視圖self.window.rootViewController=nav;3.增添YYOneViewController*one=[[YYOneViewControlleralloc]init];[navaddChildViewController:one];3)1.創(chuàng)立一個導航控制器UINavigationController*nav=[[UINavigationControlleralloc]init];2.設(shè)置導航控制器為window的根視圖self.window.rootViewController=nav;3.增添YYOneViewController*one=[[YYOneViewControlleralloc]init];nav.viewControllers=@[one];(增添到導航控制器的棧中)說明:nav.viewControllers;==nav.childViewControllers;注意該屬性是只讀的,所以不可以像下邊這樣寫。nav.childViewControllers=@[one];(4)最常用的方法YYOneViewController*one=[[YYOneViewControlleralloc]init];UINavigationController*nav=[[UINavigationControlleralloc]initWithRootViewController:one];2.當前子控制器界面導航欄的標題以及對應(yīng)返回標題的設(shè)置self.navigationItem.title=@"第一個界面";self.navigationItem.backBarButtonItem=[[UIBarButtonItemalloc]initWithTitle:@"返回一"style:UIBarButtonItemStylePlaintarget:nilaction:nil];3.給導航欄增添按鈕說明:可增添一個,也可以增添多個(數(shù)組)增添導航欄左側(cè)的按鈕(增添一個相機圖標的按鈕),會蓋掉返回self.navigationItem.leftBarButtonItem=[[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCameratarget:nilaction:nil];4.界面跳轉(zhuǎn)跳轉(zhuǎn)到第二個界面(當前為第三個,移除當前棧頂?shù)目刂破?[self.navigationControllerpopViewControllerAnimated:YES];移除辦理棧底控制器以外的全部控制器[self.navigationControllerpopToRootViewControllerAnimated:YES];只需傳入棧中的某一個控制器,就會跳轉(zhuǎn)到指定控制器[self.navigationControllerpopToViewController:<#(UIViewController*)#>animated:<#(BOOL)#>];二、代碼示例YYAppDelegate.m文件viewsourceprint?01.1//02.2//導航控制器的使用104.4//05.5//Createdbyappleon
01-14-6-4.06.6//Copyright(c)2014年應(yīng)用程序啟動達成即會調(diào)用15.15-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions16.16{17.17self.window=[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];18.18self.window.backgroundColor=[UIColorwhiteColor];19.19增添子控制器到導航控制器中22.22//第一種也是最常用的一種23.23//YYOneViewController*one=[[YYOneViewControlleralloc]init];24.24//UINavigationController*nav=[[UINavigationControlleralloc]initWithRootViewController:one];25.2526.26//1.創(chuàng)立一個導航控制器27.27UINavigationController*nav=[[UINavigationControlleralloc]init];28.28//2.設(shè)置導航控制器為window的根視圖29.29self.window.rootViewController=nav;30.3031.31//第二種
32.32
YYOneViewController
*one=[[YYOneViewController
alloc]init];33.33
[navpushViewController:oneanimated:YES];34.34
35.35//第三種36.36//[navaddChildViewController:one];37.37//第四種(增添到導航控制器的棧中)38.38//nav.viewControllers=@[one];39.3940.40//導航控制器的棧41.41//nav.viewControllers;==nav.childViewControllers;42.42//注意該屬性是只讀的,所以不可以像下邊這樣寫43.43//nav.childViewControllers=@[one];44.4445.4546.46[self.windowmakeKeyAndVisible];47.47returnYES;48.48}49.4950.50@endYYOneViewController.m文件viewsourceprint?01.1//02.2//01-導航控制器的使用104.4//05.5//Createdbyappleon14-6-4.06.6//Copyright(c)2014年itcase.Allrightsreserved.07.7//08.809.9#import"YYOneViewController.h"10.10#import"YYTwoViewController.h"11.1112.12@interfaceYYOneViewController( )13.13/**14.14跳轉(zhuǎn)到第二個界面15.15@end19.1920.20@implementation(IBAction)jump2two:(id)sender{24.24//1.創(chuàng)立第二個子控制器25.25YYTwoViewController//2.把子控制器增添到導航控制器中
28.28
//有什么方法可以拿到導航控制器?
29.29
//只需當前控制器是導航控制器的子控制器,那么就可以經(jīng)過該屬性直接獲得到當前控制器所在的導航控制器
30.30[self.navigationControllerpushViewController:twoanimated:YES];31.31}32.3233.33-(void)viewDidLoad34.34{35.35[superviewDidLoad];36.36//控制當前控制器對應(yīng)的導航條顯示的內(nèi)容37.37self.navigationItem.title=@"第一個界面";38.38//更正返回按鈕顯示的內(nèi)容39.39self.navigationItem.backBarButtonItem=[[UIBarButtonItemalloc]initWithTitle:@"返回一"style:UIBarButtonItemStylePlaintarget:nilaction:nil];40.40}41.41@endYYTwoViewController.m文件viewsourceprint?01.1//02.2////01-導航控制器的使用104.4//05.5//Createdbyappleon14-6-4.06.6//Copyright(c)2014年itcase.Allrightsreserved.07.7//08.809.9#import"YYTwoViewController.h"10.10#import"YYThreeViewController.h"11.11@interfaceYYTwoViewController( )12.12-跳轉(zhuǎn)到第三個子控制器19.19-(IBAction)jump2Three:(id)sender{20.20//1.創(chuàng)立第三個子控制器21.21YYThreeViewController*three=[[YYThreeViewControlleralloc]init];22.22//2.將子控制器增添到導航控制器中23.23[self.navigationControllerpushViewController:threeanimated:YES];24.24}25.2526.26-(void)viewDidLoad27.27{28.28[superviewDidLoad];29.29//給導航欄增添按鈕30.30//增添導航欄左側(cè)的按鈕(增添一個相機圖標的按鈕),會蓋掉返回31.31//self.navigationItem.leftBarButtonItem=[[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCameratarget:nilaction:nil];32.32
33.33//為導航欄在右側(cè)增添多個按鈕
34.34
//創(chuàng)立兩個按鈕
35.35UIBarButtonItem*a=[[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemStoptarget:nilaction:nil];36.36UIBarButtonItem*b=[[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemReplytarget:nilaction:nil];37.37UIBarButtonItem*c=[[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCameratarget:nilaction:nil];38.38self.navigationItem.rightBarButtonItems=@[a,b,c];39.3940.40//設(shè)置對應(yīng)的導航條的返回(第三個界面導航條的返回)41.41self.navigationItem.backBarButtonItem=[[UIBarButtonItemalloc]initWithTitle:@"返回"style:UIBarButtonItemStyleBorderedtarget:nilaction:nil];42.42}43.43@endYYThreeViewController.m文件viewsourceprint?01.1//02.2//導航控制器的使用Copyright2014年itcase.Allrightsreserved.07.7//08.809.9#import"YYThreeViewController.h"10.10#import"YYTwoViewController.h"11.1112.12@interfaceYYThreeViewController( )13.13//返回到第二個控制器頁面14.14-(IBAction)jump2two:(id)sender;15.15//返回到第一個控制器頁面@end19.1920.20@implementation(IBAction)jump2two:(id)sender{24.24//跳轉(zhuǎn)到第二個界面(移除當前棧頂?shù)目刂破?IBAction)jump2root:(id)sender{29.29//移除辦理棧底控制器以外的全部控制器30.30[self.navigationController//只需傳入棧中的某一個控制器,就會跳轉(zhuǎn)到指定控制器33.33//不可以這樣,沒增添到導航控制器YYTwoViewController*two=[[YYTwoViewControlleralloc]init];34.34//[self.navigationControllerpopToViewController:<#(UIViewController*)#>animated:<#(BOOL)#>];35.35}36.36@end實現(xiàn)成效:三、導航控制器經(jīng)過棧來管理子控制器表示圖:說明:導航控制器是經(jīng)過棧的形式來管理子控制器的(先進后出)顯示在導航控制器上得view永久是棧頂控制器的view一個導航控制器只有一個導航條,也就是說全部的自控制器公用一個導航條。四、增補在代理方法中,打印當前window下邊的全部子控件,并經(jīng)過xml文件來保存,代碼以下。viewsourceprint?01.//應(yīng)用程序獲得焦點(代表著可以和用戶交互)02.-(void)applicationDidBecomeActive:(UIApplication*)application03.{04.NSLog(@"applicationDidBecomeActive");06.07.UINavigationController*nav=(UINavigationController*)self.window.rootViewController;08.UINavigationBar*bar=nav.navigationBar;09.//NSLog(@"%@",NSStringFromCGRect(bar.frame));10.11.NSString*str=[selfdigView:self.window];12.[strwriteToFile:@"/Users/apple/Desktop/ios6.xml"atomically:YES];13.14.}15.16./**17.*返回傳入veiw的全部層級結(jié)構(gòu)18.*19.*@paramview需要獲得層級結(jié)構(gòu)的view20.*21.*@return字符串22.*/23.-(NSString*)digView:(UIView*)view24.{25.if([viewisKindOfClass:[UITableViewCellclass]])return@"";26.//1.初始化27.NSMutableString*xml=[NSMutableStringstring];28.29.//2.標簽開頭30.[xmlappendFormat:@"<%@frame=\"%@\"",view.class,NSStringFromCGRect(view.frame)];31.if(!CGPointEqualToPoint(view.bounds.origin,CGPointZero)){32.[xmlappendFormat:@"bounds=\"%@\"",NSStringFromCGRect(view.bounds)];33.}34.35.if([viewisKindOfClass:[UIScrollViewclass]]){36.UIScrollView*scroll(UIScrollView*)view;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版建筑勞務(wù)分包協(xié)議標準文本精簡版版B版
- 2024消防安全隱患排查與整改合作協(xié)議3篇
- 2024版公租房租賃合同標準樣本
- 2024版全新包車客運合同范本下載
- 2024年電子產(chǎn)品一次性銷售協(xié)議版B版
- 2024年貨物運輸中介服務(wù)合同范本版B版
- 2024年鋁合金門窗安裝質(zhì)量保證合同3篇
- 2022中考化學一輪復(fù)習:走進化學世界 知識清單(人教版)
- 2024年磚塊配送服務(wù)協(xié)議樣本一
- 2024年青少年體育夏令營入營協(xié)議書及訓練安排3篇
- 勞動合同變更確認書
- 象棋培訓機構(gòu)合伙協(xié)議
- 2025屆貴州遵義市桐梓縣數(shù)學七年級第一學期期末經(jīng)典試題含解析
- 藍色糧倉-水產(chǎn)學專業(yè)導論智慧樹知到期末考試答案章節(jié)答案2024年中國海洋大學、山東大學、中國科學院海洋研究所、上海海洋大學、華中農(nóng)業(yè)大學、大連海洋大學、集美大學
- (高清版)JTGT D31-06-2017 季節(jié)性凍土地區(qū)公路設(shè)計與施工技術(shù)規(guī)范
- 幼兒園健康體檢活動方案及流程
- 二年級乘除法口算題計算練習大全2000題(可直接打印)
- 冰箱結(jié)構(gòu)原理與維修
- 2024年交管12123學法減分考試題庫及答案大全
- 湖南省長沙市2022-2023學年二年級上學期期末數(shù)學試題
- DB29-238-2024 城市綜合管廊工程設(shè)計規(guī)范
評論
0/150
提交評論