Ios 隐藏BackButton工作,但backbarbuttonitem设置操作不工作

Ios 隐藏BackButton工作,但backbarbuttonitem设置操作不工作,ios,uinavigationitem,backbarbuttonitem,Ios,Uinavigationitem,Backbarbuttonitem,我想在一个ViewController中更改backbutton的操作。我希望在同一个ViewController中执行操作,而不是返回到先前的视图 self.navigationItem.hidesBackButton=NO; 隐藏后按钮,但 [self.navigationController.navigationItem.backBarButtonItem setAction:@selector(performBackNav:)]; 及 执行与之前相同的操作(返回到ViewContro

我想在一个ViewController中更改backbutton的操作。我希望在同一个ViewController中执行操作,而不是返回到先前的视图

self.navigationItem.hidesBackButton=NO;
隐藏后按钮,但

[self.navigationController.navigationItem.backBarButtonItem setAction:@selector(performBackNav:)];

执行与之前相同的操作(返回到ViewController)。没有什么变化

-(void)performBackNav:(id)sender {
//Actions
[self.navigationController popViewControllerAnimated:NO];
}

有没有办法修改BackbarButtonim的操作?

而不是覆盖默认后退按钮的操作方法创建一个自定义按钮。这是一种尝试的方式

{
    UIButton *urButton = [UIButton buttonWithType:UIButtonTypeCustom];
    urButton.frame = urRequiredFrame;
    [urButton setImage:urImage forState:UIControlStateNormal];
    [urButton addTarget:self action:@selector(performBackNav:)
         forControlEvents:UIControlEventTouchUpInside];

    UIBarButtonItem *doneButton =[[UIBarButtonItem alloc] initWithCustomView:urButton];
    self.navigationItem.leftBarButtonItem=doneButton;
}


-(void)performBackNav:(id)sender {
//Actions
[self.navigationController popViewControllerAnimated:NO];
}

您是否验证了是否通过断点或NSLog语句调用了
performBackNav:
。performBackNav:未调用(NSLog语句)。
{
    UIButton *urButton = [UIButton buttonWithType:UIButtonTypeCustom];
    urButton.frame = urRequiredFrame;
    [urButton setImage:urImage forState:UIControlStateNormal];
    [urButton addTarget:self action:@selector(performBackNav:)
         forControlEvents:UIControlEventTouchUpInside];

    UIBarButtonItem *doneButton =[[UIBarButtonItem alloc] initWithCustomView:urButton];
    self.navigationItem.leftBarButtonItem=doneButton;
}


-(void)performBackNav:(id)sender {
//Actions
[self.navigationController popViewControllerAnimated:NO];
}