無(wú)標(biāo)題文章

//應(yīng)用程序啟動(dòng)完畢即會(huì)調(diào)用15- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions16{17self.window =[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];18self.window.backgroundColor =[UIColor whiteColor];192021//3.添加子控制器到導(dǎo)航控制器中22//第一種也是最常用的一種23//YYOneViewController *one=[[YYOneViewController alloc]init];24//UINavigationController *nav=[[UINavigationController alloc]initWithRootViewController:one];2526//1.創(chuàng)建一個(gè)導(dǎo)航控制器27UINavigationController *nav=[[UINavigationController alloc]init];28//2.設(shè)置導(dǎo)航控制器為window的根視圖29self.window.rootViewController=nav;3031//第二種32YYOneViewController? *one =[[YYOneViewController? alloc] init];33[nav pushViewController:one animated:YES];3435//第三種36//[nav addChildViewController:one];37//第四種(添加到導(dǎo)航控制器的棧中)38//nav.viewControllers=@[one];3940//導(dǎo)航控制器的棧41//nav.viewControllers;== nav.childViewControllers;42//注意該屬性是只讀的,因此不能像下面這樣寫43//nav.childViewControllers = @[one];444546[self.window makeKeyAndVisible];47returnYES;48}4950@end

YYOneViewController.m文件

1//2//YYOneViewController.m3//01-導(dǎo)航控制器的使用14//5//Created by apple on 14-6-4.6//Copyright (c) 2014年 itcase. All rights reserved.7//89#import"YYOneViewController.h"10#import"YYTwoViewController.h"1112@interfaceYYOneViewController ()13/**14跳轉(zhuǎn)到第二個(gè)界面15*/16- (IBAction)jump2two:(id)sender;1718@end1920@implementationYYOneViewController212223- (IBAction)jump2two:(id)sender {24//1.創(chuàng)建第二個(gè)子控制器25YYTwoViewController *two=[[YYTwoViewController alloc]init];2627//2.把子控制器添加到導(dǎo)航控制器中28//有什么辦法能夠拿到導(dǎo)航控制器瓶珊?29//只要當(dāng)前控制器是導(dǎo)航控制器的子控制器鲁森,那么就可以通過(guò)該屬性直接獲取到當(dāng)前控制器所在的導(dǎo)航控制器30[self.navigationController pushViewController:two animated:YES];31}3233-(void)viewDidLoad34{35[super viewDidLoad];36//控制當(dāng)前控制器對(duì)應(yīng)的導(dǎo)航條顯示的內(nèi)容37self.navigationItem.title=@"第一個(gè)界面";38//修改返回按鈕顯示的內(nèi)容39self.navigationItem.backBarButtonItem=[[UIBarButtonItem alloc]initWithTitle:@"返回一"style:UIBarButtonItemStylePlain target:nil action:nil];40}41@end

YYTwoViewController.m文件

1//2//YYTwoViewController.m3//01-導(dǎo)航控制器的使用14//5//Created by apple on 14-6-4.6//Copyright (c) 2014年 itcase. All rights reserved.7//89#import"YYTwoViewController.h"10#import"YYThreeViewController.h"11@interfaceYYTwoViewController ()12- (IBAction)jump2Three:(id)sender;1314@end1516@implementationYYTwoViewController1718//跳轉(zhuǎn)到第三個(gè)子控制器19- (IBAction)jump2Three:(id)sender {20//1.創(chuàng)建第三個(gè)子控制器21YYThreeViewController *three=[[YYThreeViewController alloc]init];22//2.將子控制器添加到導(dǎo)航控制器中23[self.navigationController pushViewController:three animated:YES];24}2526-(void)viewDidLoad27{28[super viewDidLoad];29//給導(dǎo)航欄添加按鈕30//添加導(dǎo)航欄左邊的按鈕(添加一個(gè)相機(jī)圖標(biāo)的按鈕),會(huì)蓋掉返回31//self.navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:nil action:nil];3233//為導(dǎo)航欄在右邊添加多個(gè)按鈕34//創(chuàng)建兩個(gè)按鈕35UIBarButtonItem *a=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemStop target:nil action:nil];36UIBarButtonItem *b=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:nil action:nil];37UIBarButtonItem *c=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:nil action:nil];38self.navigationItem.rightBarButtonItems=@[a,b,c];3940//設(shè)置對(duì)應(yīng)的導(dǎo)航條的返回(第三個(gè)界面導(dǎo)航條的返回)41self.navigationItem.backBarButtonItem=[[UIBarButtonItem alloc]initWithTitle:@"返回"style:UIBarButtonItemStyleBordered target:nil action:nil];42}43@end

YYThreeViewController.m文件

1//2//YYThreeViewController.m3//01-導(dǎo)航控制器的使用14//5//Created by apple on 14-6-4.6//Copyright (c) 2014年 itcase. All rights reserved.7//89#import"YYThreeViewController.h"10#import"YYTwoViewController.h"1112@interfaceYYThreeViewController ()13//返回到第二個(gè)控制器頁(yè)面14- (IBAction)jump2two:(id)sender;15//返回到第一個(gè)控制器頁(yè)面16- (IBAction)jump2root:(id)sender;1718@end1920@implementationYYThreeViewController212223- (IBAction)jump2two:(id)sender {24//跳轉(zhuǎn)到第二個(gè)界面(移除當(dāng)前棧頂?shù)目刂破?25[self.navigationController popViewControllerAnimated:YES];26}2728- (IBAction)jump2root:(id)sender {29//移除處理?xiàng)5卓刂破髦獾乃锌刂破?0[self.navigationController popToRootViewControllerAnimated:YES];3132//只要傳入棧中的某一個(gè)控制器,就會(huì)跳轉(zhuǎn)到指定控制器33//不能這樣琉挖,沒添加到導(dǎo)航控制器YYTwoViewController *two = [[YYTwoViewController? alloc] init];34//[self.navigationController popToViewController:<#(UIViewController *)#> animated:<#(BOOL)#>];35}36@end

實(shí)現(xiàn)效果:

三、導(dǎo)航控制器通過(guò)棧來(lái)管理子控制器

示意圖

說(shuō)明:

導(dǎo)航控制器是通過(guò)棧的形式來(lái)管理子控制器的(先進(jìn)后出)

顯示在導(dǎo)航控制器上得view永遠(yuǎn)是棧頂控制器的view

一個(gè)導(dǎo)航控制器只有一個(gè)導(dǎo)航條虱痕,也就是說(shuō)所有的自控制器公用一個(gè)導(dǎo)航條脚作。

四、補(bǔ)充

在代理方法中作烟,打印當(dāng)前window下面的所有子控件,并通過(guò)xml文件來(lái)保存砾医,代碼如下拿撩。

//應(yīng)用程序獲取焦點(diǎn)(代表著可以和用戶交互)- (void)applicationDidBecomeActive:(UIApplication *)application

{

NSLog(@"applicationDidBecomeActive");

UINavigationController*nav =? (UINavigationController *)self.window.rootViewController;

UINavigationBar*bar =nav.navigationBar;//NSLog(@"%@", NSStringFromCGRect(bar.frame));NSString*str =[self digView:self.window];

[str writeToFile:@"/Users/apple/Desktop/ios6.xml"atomically:YES];

}/**

*? 返回傳入veiw的所有層級(jí)結(jié)構(gòu)

*

*? @param view 需要獲取層級(jí)結(jié)構(gòu)的view

*

*? @return 字符串*/- (NSString *)digView:(UIView *)view

{if([view isKindOfClass:[UITableViewCellclass]])return@"";//1.初始化NSMutableString *xml = [NSMutableStringstring];//2.標(biāo)簽開頭[xml appendFormat:@"<%@ frame=\"%@\"", view.class, NSStringFromCGRect(view.frame)];if(!CGPointEqualToPoint(view.bounds.origin, CGPointZero)) {

[xml appendFormat:@"bounds=\"%@\"", NSStringFromCGRect(view.bounds)];

}if([view isKindOfClass:[UIScrollViewclass]]) {

UIScrollView*scroll = (UIScrollView *)view;if(!UIEdgeInsetsEqualToEdgeInsets(UIEdgeInsetsZero, scroll.contentInset)) {

[xml appendFormat:@"contentInset=\"%@\"", NSStringFromUIEdgeInsets(scroll.contentInset)];

}

}//3.判斷是否要結(jié)束if(view.subviews.count ==0) {

[xml appendString:@"/>"];returnxml;

}else{

[xml appendString:@">"];

}//4.遍歷所有的子控件for(UIView *childinview.subviews) {

NSString*childXml =[self digView:child];

[xml appendString:childXml];

}//5.標(biāo)簽結(jié)尾[xml appendFormat:@"", view.class];returnxml;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市如蚜,隨后出現(xiàn)的幾起案子压恒,更是在濱河造成了極大的恐慌,老刑警劉巖错邦,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涎显,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡兴猩,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門早歇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)倾芝,“玉大人讨勤,你說(shuō)我怎么就攤上這事〕苛恚” “怎么了潭千?”我有些...
    開封第一講書人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)借尿。 經(jīng)常有香客問(wèn)我刨晴,道長(zhǎng),這世上最難降的妖魔是什么路翻? 我笑而不...
    開封第一講書人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任狈癞,我火速辦了婚禮,結(jié)果婚禮上茂契,老公的妹妹穿的比我還像新娘蝶桶。我一直安慰自己,他們只是感情好掉冶,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開白布真竖。 她就那樣靜靜地躺著,像睡著了一般厌小。 火紅的嫁衣襯著肌膚如雪恢共。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,475評(píng)論 1 312
  • 那天璧亚,我揣著相機(jī)與錄音讨韭,去河邊找鬼。 笑死涨岁,一個(gè)胖子當(dāng)著我的面吹牛拐袜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播梢薪,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼蹬铺,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了秉撇?” 一聲冷哼從身側(cè)響起甜攀,我...
    開封第一講書人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎琐馆,沒想到半個(gè)月后规阀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瘦麸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年谁撼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片滋饲。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡厉碟,死狀恐怖喊巍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情箍鼓,我是刑警寧澤崭参,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站款咖,受9級(jí)特大地震影響何暮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜铐殃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一海洼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧背稼,春花似錦贰军、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至帘腹,卻和暖如春贰盗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背阳欲。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工舵盈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人球化。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓秽晚,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親筒愚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子赴蝇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容