如何覆盖self.navigationItem.backBarButtonItem动作?

0ye*_*eoj 4 objective-c ios

我想覆盖self.navigationItem.backBarButtonItem目标行动,

我试过了:

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back"
                                                                   style:UIBarButtonItemStyleBordered
                                                                  target:self
                                                                  action:@selector(backButtonOverrideAction:)];
[self.navigationItem setLeftBarButtonItem:backButton];
Run Code Online (Sandbox Code Playgroud)

它工作,但我想使用默认箭头:

在此输入图像描述

我也尝试过:

UIBarButtonItem *backButton = self.navigationItem.backBarButtonItem;
[backButton setTarget:self];
[backButton setAction:@selector(backButtonOverrideAction:)];
Run Code Online (Sandbox Code Playgroud)

但不幸的是它不起作用..你知道怎么做吗?

0ye*_*eoj 11

STILL,改变没有直达目标行动self.navigationItem.backBarButtonItem.

我最终使用了我尝试的第一个...并获得了我的(自定义)图像..

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"myImage.png"]
                                                               style:UIBarButtonItemStyleBordered
                                                              target:self
                                                              action:@selector(backButtonOverrideAction:)];
[self.navigationItem setLeftBarButtonItem:backButton];
Run Code Online (Sandbox Code Playgroud)

而...

//this two lines of code are still useless, i just feel sorry for them.. 
[self.navigationItem.backBarButtonItem setTarget:<#(id)#>];
[self.navigationItem.backBarButtonItem setAction:<#(SEL)#>];
Run Code Online (Sandbox Code Playgroud)