2017-07-08 494 views
0

我嘗試更改導航回欄按鈕。iOS自定義導航回欄按鈕操作不起作用

我的代碼將推自我視圖控制器。

所以我需要當推第二個視圖控制器時,導航回欄按鈕(左欄按鈕)是顯示主圖像欄的按鈕項目。

然後,推後自我第三視圖控制器將顯示默認的backbarbutton和自定義操作。

但是當我推翻第三個視圖時,自定義操作總是不起作用。

有沒有人知道爲什麼或如何解決這個問題?

堆棧:

首頁 - >推(主文件列表) - >推(子視圖控制器)(默認顯示回導航欄按鈕有箭頭,而將自定義操作) - >推...(一回事兒動作)...->推...

我的部分代碼如下:

 NSInteger nmvcCount = 0; 
     NSArray* navControllersAry = [self.navigationController viewControllers]; 

     for(NSInteger j = 0 ; j <= [navControllersAry count]-1; j++){ 


      if([[[self.navigationController viewControllers] objectAtIndex:j] isKindOfClass:[FMVC class]]){ 
      nmvcCount = nmvcCount + 1; 
      } 

     } 

     if(nmvcCount == 1){ 
      // home bar button is using storyboard draw 
      self.navigationItem.leftBarButtonItem = self.homeBarBtn; 

     }else{ 
      self.navigationItem.leftBarButtonItem = nil; 
      [self.navigationItem.backBarButtonItem setTarget:self]; 
      [self.navigationItem.backBarButtonItem setAction:@selector(popAndOtherProcess:)]; 

     } 

} 

.... 

-(void) popAndOtherProcess:(id)btn{ 
    NSLog(@"it work"); 
} 

非常感謝你。

+0

Kinldy更加清晰。我們無法得到你想要的結果。什麼是您分配給後退按鈕的自定義操作。 ?? – luckyShubhra

+0

我需要自定義操作,但不會輸入popAndOtherProcess方法。總之,在相同的視圖控制器中,我需要後欄按鈕的一些情況是使用左欄按鈕項替換。某些情況下,使用默認後欄按鈕(有箭頭)可以解除左欄按鈕項目,但是可以定製後欄按鈕動作。 – dickfala

+0

現在代碼,popAndOtherProcess總是不能進入。 – dickfala

回答

0

你可以試試這個代碼:

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] 
          initWithTitle:@"Flip"            
          style:UIBarButtonItemStyleBordered 
          target:self 
          action:@selector(backView:)]; 
self.navigationItem.rightBarButtonItem = backButton; 

使用方法,如:

-(IBAction)backView