您好,登錄后才能下訂單哦!
firstViewController * firstVC = [[firstViewController alloc]init];
NViewController * RootController = [[NViewController alloc]initWithRootViewController:firstVC];
RootViewController * RootController = [[RootViewController alloc]initWithRootViewController:firstVC];
[firstVC release];
導航控制器指定為window的控制器.
self.window.rootViewController = RootController;
[RootController release];
導航控制器用來管理一組具有層級關系的視圖控制器,進入下一個界面的方法是push. 返回是pop
(層級關系:后面的界面顯示的內容依賴于前一個界面)
當沒有,層級關系的視圖控制器之間切換時(比如:前一個界面顯示的內容依賴于后一個界面). 要使用模態視圖.進入下一個界面的方式是present 返回是dismiss
如果第二個界面需要導航控制器,則模態出導航控制器
當由前一個界面push到后一個界面時,比如A push 到 B
A(viewWillDisapper) -- > B (viewWillApper) --> A (viewDidDisapper) -->B(viewDidApper)
后一個界面pop回前一個界面時
B(viewWillDisapper) -- > A (viewWillApper) --> B (viewDidDisapper) -->A(viewDidApper)
和視圖相關的四個方法
當視圖控制器的view將要出現時觸發
- (void)viewWillAppear:(BOOL)animated
{
NSLog(@"%s",__FUNCTION__);
[super viewWillAppear:YES];
}
當視圖控制器的view已經出現時觸發
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:YES];
NSLog(@"%s",__FUNCTION__);
}
當視圖控制器的view將要消失時觸發
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:YES];
NSLog(@"%s",__FUNCTION__);
}
當視圖控制器的view已經消失時觸發
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:YES];
NSLog(@"%s",__FUNCTION__);
}
修改navigetionBar 的顏色
self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];
2.關閉navigationBar 的毛玻璃效果.
self.navigationController.navigationBar.translucent = noErr;
3.將navigationBar 隱藏掉
self.navigationController.navigationBarHidden = YES;
4.設置圖片
不同尺寸的圖片的效果不同
320 * 44 只會給navigationBer 附上圖片
[self.navigationController.navigationBar setBackgroundImage:[UIImage p_w_picpathNamed:@"32044"] forBarMetrics:UIBarMetricsDefault];
高度小于44 ,以及高度 大于 44 小于64 : 會平鋪navigationBar以及狀態條
[self.navigationController.navigationBar setBackgroundImage:[UIImage p_w_picpathNamed:@"32050"] forBarMetrics:UIBarMetricsDefault];
高度等于64: 整個圖片在navigation以及在狀態條上顯示
[self.navigationController.navigationBar setBackgroundImage:[UIImage p_w_picpathNamed:@"32064"] forBarMetrics:UIBarMetricsDefault];
注意以上四點都是對navigationBar直接配置,所以該操作對每一個界面navigationBar上消失的內容都會有影響.(效果都是一樣的)
為每一個界面的navigationBar上顯示的內容單獨定制(每一個界面內容不一樣)
單獨定制修改視圖控制器的navigationItem
設置界面的title
self.navigationItem.title = @"好友";
修改title(中間顯示的視圖)
UISegmentedControl *segmented = [[UISegmentedControl alloc]initWithItems:@[@"分組",@"全部"]];
self.navigationItem.titleView = segmented;
[segmented release];
配置navigationBar右邊顯示的內容
UIBarButtonItem * btn = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(add:)];
self.navigationItem.rightBarButtonItem = btn;
[btn release];
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。