0

I customized back button. and then I wanted the backButtonTapped be called when tapping on back button. but it is not called.

 UIImage *backBtn = [UIImage imageNamed:@"back-image"];
 backBtn = [backBtn imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
 self.navigationController.navigationBar.backIndicatorImage = backBtn;
 self.navigationController.navigationBar.backIndicatorTransitionMaskImage = backBtn;

 self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:self.navigationItem.backBarButtonItem.style target:self action:@selector(backButtonTapped)];


- (void) backButtonTapped {
    [self.navigationController popViewControllerAnimated:YES];
}
Fattaneh Talebi
  • 753
  • 13
  • 34
  • Possible duplicate of [back button callback in navigationController in iOS](https://stackoverflow.com/questions/5217992/back-button-callback-in-navigationcontroller-in-ios) – Kamran Sep 23 '18 at 07:20

1 Answers1

0

try below code - work for me and if you have issue then put comment, i will help you

UIImage *image1 = [UIImage imageNamed:@"back-image"];
    CGRect frame = CGRectMake(0, 0, image1.size.width, image1.size.height);
    UIButton* backbtn = [[UIButton alloc] initWithFrame:frame];
    [backbtn setBackgroundImage:image1 forState:UIControlStateNormal];
    [backbtn addTarget:self action:@selector(backButtonTapped) forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem* backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backbtn];
    [self.navigationItem setLeftBarButtonItem:backButtonItem];


-(void)backButtonTapped {
    [self.navigationController popViewControllerAnimated:YES]; }
Akshay Degada
  • 139
  • 2
  • 13