溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

UINavigationController navigetionBar

發(fā)布時(shí)間:2020-06-15 21:21:36 來源:網(wǎng)絡(luò) 閱讀:612 作者:緣起愿落 欄目:開發(fā)技術(shù)

    

    firstViewController  * firstVC = [[firstViewController alloc]init];
    NViewController * RootController = [[NViewController alloc]initWithRootViewController:firstVC];

 

RootViewController * RootController = [[RootViewController alloc]initWithRootViewController:firstVC];
    [firstVC release];
    
  

導(dǎo)航控制器指定為window的控制器.
    self.window.rootViewController = RootController;
    
    
    [RootController release];


導(dǎo)航控制器用來管理一組具有層級(jí)關(guān)系的視圖控制器,進(jìn)入下一個(gè)界面的方法是push. 返回是pop
     (層級(jí)關(guān)系:后面的界面顯示的內(nèi)容依賴于前一個(gè)界面)
     
     當(dāng)沒有,層級(jí)關(guān)系的視圖控制器之間切換時(shí)(比如:前一個(gè)界面顯示的內(nèi)容依賴于后一個(gè)界面). 要使用模態(tài)視圖.進(jìn)入下一個(gè)界面的方式是present 返回是dismiss


如果第二個(gè)界面需要導(dǎo)航控制器,則模態(tài)出導(dǎo)航控制器


當(dāng)由前一個(gè)界面push到后一個(gè)界面時(shí),比如A push 到 B

 A(viewWillDisapper) -- > B (viewWillApper) --> A (viewDidDisapper) -->B(viewDidApper)


后一個(gè)界面pop回前一個(gè)界面時(shí)

 B(viewWillDisapper) -- > A (viewWillApper) --> B (viewDidDisapper) -->A(viewDidApper)

和視圖相關(guān)的四個(gè)方法


當(dāng)視圖控制器的view將要出現(xiàn)時(shí)觸發(fā)
- (void)viewWillAppear:(BOOL)animated
{
    NSLog(@"%s",__FUNCTION__);
    [super viewWillAppear:YES];
}


當(dāng)視圖控制器的view已經(jīng)出現(xiàn)時(shí)觸發(fā)
- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:YES];
    NSLog(@"%s",__FUNCTION__);
}


當(dāng)視圖控制器的view將要消失時(shí)觸發(fā)
 - (void)viewWillDisappear:(BOOL)animated
{
    
    [super viewWillDisappear:YES];
    NSLog(@"%s",__FUNCTION__);
}


當(dāng)視圖控制器的view已經(jīng)消失時(shí)觸發(fā)
- (void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:YES];
    NSLog(@"%s",__FUNCTION__);
}


 

  1. 修改navigetionBar 的顏色
        self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];

       

2.關(guān)閉navigationBar 的毛玻璃效果. 

self.navigationController.navigationBar.translucent = noErr;

   

3.將navigationBar 隱藏掉
  

self.navigationController.navigationBarHidden = YES;
  


4.設(shè)置圖片
    
      不同尺寸的圖片的效果不同
     320 * 44 只會(huì)給navigationBer 附上圖片
    
   [self.navigationController.navigationBar setBackgroundImage:[UIImage p_w_picpathNamed:@"32044"] forBarMetrics:UIBarMetricsDefault];
    
    高度小于44 ,以及高度 大于 44 小于64 : 會(huì)平鋪navigationBar以及狀態(tài)條
    
    [self.navigationController.navigationBar setBackgroundImage:[UIImage p_w_picpathNamed:@"32050"] forBarMetrics:UIBarMetricsDefault];
    
    高度等于64: 整個(gè)圖片在navigation以及在狀態(tài)條上顯示
     [self.navigationController.navigationBar setBackgroundImage:[UIImage p_w_picpathNamed:@"32064"] forBarMetrics:UIBarMetricsDefault];
    
     注意以上四點(diǎn)都是對(duì)navigationBar直接配置,所以該操作對(duì)每一個(gè)界面navigationBar上消失的內(nèi)容都會(huì)有影響.(效果都是一樣的)
    
    
    為每一個(gè)界面的navigationBar上顯示的內(nèi)容單獨(dú)定制(每一個(gè)界面內(nèi)容不一樣)
    
  單獨(dú)定制修改視圖控制器的navigationItem
    
    
  設(shè)置界面的title
    self.navigationItem.title = @"好友";
    
  修改title(中間顯示的視圖)
    UISegmentedControl *segmented = [[UISegmentedControl alloc]initWithItems:@[@"分組",@"全部"]];
    
    
    self.navigationItem.titleView = segmented;
    
    [segmented release];
    
    
  配置navigationBar右邊顯示的內(nèi)容
    UIBarButtonItem * btn = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(add:)];
    self.navigationItem.rightBarButtonItem = btn;
    [btn release];




   

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI