简体   繁体   中英

Back Button can't be seen on navigation controller in IOS6

I have an customised UINavigationcontroller created by me programatically.

The Problem is with the back button which comes as a default in UINavigationBar is not seen in IOS6 but when i press it the action can be done.

NOTE: The back button is seen in IOS5.

Here is my code that i had used

- (void)customizeNavigationController:(UINavigationController *)navController
{
    UINavigationBar *navBar = [navController navigationBar];
    [navBar setTintColor:keyNavBarTintColor];

    UIImageView *myImageView = (UIImageView *)[navBar viewWithTag:keyNavBarBackgroundImageTag];
    if (myImageView == nil)
    {
      UIImage *img = [UIImage imageNamed:@"image.png"];
      CGRect rect = CGRectMake(0, 0, navBar.frame.size.width, navBar.frame.size.height);
      myImageView = [[UIImageView alloc] initWithFrame:rect];
      [myImageView setContentMode:UIViewContentModeScaleAspectFill];
      [myImageView setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
      myImageView.image = img;
      [myImageView setTag:keyNavBarBackgroundImageTag];
      [navBar addSubview:myImageView];
      [myImageView release];
    }
    self.navImageView = myImageView;
}

Try this:

UIImage *image = [UIImage imageNamed:kButtonBackInActive];

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:image forState:UIControlStateNormal];
[button addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside];
[button setFrame:CGRectMake(0, 0, 39.0f, 44.0f)];
button.contentEdgeInsets = (UIEdgeInsets){.left=-8};
button.showsTouchWhenHighlighted = NO;

UIBarButtonItem * backbutton = [[[UIBarButtonItem alloc] initWithCustomView:button] autorelease];
[self.navigationItem setLeftBarButtonItem:backbutton];

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM