2017-07-08 289 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