//修改“返回鍵”的內容
UINavigationController
1>使用步驟
1,初始化UINavigationController
2,設置UIWindow的rootViewController(根控制器)爲UINavigationController(導航控制器)
3,根據具體情況,通過push方法添加對應個數的子控制器
2>
1,添加子控件 [導航控制器名 pushViewController:子控件名
animated:YES];
2,導航控制器發現棧頂多了東西,便會創建他的view。顯示在導航控制器上面的永遠是棧頂控制器的view。
3,點擊Back後,棧頂的控制器被銷燬,對應的view也就銷燬,此時導航顯示的是新的棧頂控制器的view。
3>
導航控制器用來存放子控制器的棧:childViewControllers 和 viewControllers (兩個數組)
因此也可以這樣添加子控制器:
[nav
addChildViewController:one];
或者往數組裏加
nav.viewControllers
=
@[one]; (childViewControllers只讀,不可以)
4》關於手動出棧
1,
//把當前棧頂控制器銷燬
[self.navigationController
popViewControllerAnimated:YES];
2,
//把棧裏所有控制器銷燬,只留根控制器
[self.navigationController
popToRootViewControllerAnimated:YES];
3,
//回到指定控制器
[self.navigationController popToViewController:one animated:YES];
5>
1,一個導航控制器就一個導航條
2,導航欄上面顯示什麼內容由棧頂控制器的navigationItem屬性決定。
在當前棧頂控制器的viewDidLoad裏設置。
3,self.navigationItem.left/right/title/titleView
4,左上角返回鍵的內容由上一個控制器決定
//修改“返回鍵”的內容
self.navigationItem.backBarButtonItem
= [[UIBarButtonItem
alloc]initWithTitle:@"返回"
style:UIBarButtonItemStyleDone
target:nil
action:nil];
6》通過stroyboard創建控制器
1,脫線不能往回拖,不是返回,而是創建一個新的控制器,不利於內存,打亂順序。
真的需要返回,用pop方法。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.