iOS自定义导航回栏按钮操作不起作用
问题描述:
我尝试更改导航回栏按钮。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");
}
非常感谢你。
答
你可以试试这个代码:
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
initWithTitle:@"Flip"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(backView:)];
self.navigationItem.rightBarButtonItem = backButton;
使用方法,如:
-(IBAction)backView
Kinldy更加清晰。我们无法得到你想要的结果。什么是您分配给后退按钮的自定义操作。 ?? – luckyShubhra
我需要自定义操作,但不会输入popAndOtherProcess方法。总之,在相同的视图控制器中,我需要后栏按钮的一些情况是使用左栏按钮项替换。某些情况下,使用默认后栏按钮(有箭头)可以解除左栏按钮项目,但是可以定制后栏按钮动作。 – dickfala
现在代码,popAndOtherProcess总是不能进入。 – dickfala