1

我想在我的一个 ViewController 中更改我的后退按钮的操作。我不想回到先前的视图,而是想在同一个 ViewController 中执行一个操作。

self.navigationItem.hidesBackButton=NO;

隐藏 BackButton 但

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

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

做和以前一样的事情(回到前面的 ViewController)。没有什么变化。

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

有什么想法可以修改 backbarbuttonitem 的操作吗?

4

1 回答 1

2

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

{
    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];
}
于 2014-03-23T18:29:45.520 回答