【问题标题】:Back Button can't be seen on navigation controller in IOS6在IOS6的导航控制器上看不到返回按钮
【发布时间】:2012-10-01 10:29:06
【问题描述】:

我有一个由我以编程方式创建的自定义 UINavigationcontroller。

问题在于 UINavigationBar 中默认的后退按钮在 IOS6 中看不到,但是当我按下它时,可以完成操作。

注意:返回按钮在 IOS5 中可见。

这是我用过的代码

- (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;
}

【问题讨论】:

  • MaxBallo,我已经添加了代码

标签: iphone ios uinavigationbar ios6 uinavigationitem


【解决方案1】:

试试这个:

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];

【讨论】:

  • 你能描述一下你的答案吗?我无法理解
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多