扭曲的导航栏自定义后退按钮

问题描述:

enter image description here扭曲的导航栏自定义后退按钮

我有一个自定义后退按钮和按钮显示不为意,它被拉伸,即使后退按钮文本为空,它仍然显示“回“ 文字。

在此先感谢。

我通常使用这种技术,使其工作:

  1. 为了摆脱默认标题:

    [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-400.f, 0) forBarMetrics:UIBarMetricsDefault]; 
    
  2. 使用可调整大小的图像:

    UIImage *backButton = [UIImage imageNamed:@"back.png"];   
    [[UIBarButtonItem appearance] setBackButtonBackgroundImage:[backButton resizableImageWithCapInsets:UIEdgeInsetsMake(0, backButton.size.width, 0, 0)] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
    
+0

,这确实有用,谢谢你:)和@Jano真的很感谢这个努力! – prabhu 2013-03-26 18:38:32

尝试像

UIButton *back = [UIButton buttonWithType:UIButtonTypeCustom]; 
UIImage *image = ... your image 
[back setBackgroundImage:image forState:UIControlStateNormal]; 
[back addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside]; 
back.frame = CGRectMake(0, 0, image.size.width, image.size.height); 
UIBarButtonItem *backbi = [[UIBarButtonItem alloc] initWithCustomView:back]; 
self.navigationItem.leftBarButtonItem = backbi; 

或发布您的代码。

+0

其实我我正在使用这样的东西 01 UIImage * backButton = [UIImage imageNamed:@“back.png”]; [[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButton forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; – prabhu 2013-03-26 18:16:52

+0

对不起,如果我是一个noob,但self.navigationItem.leftBarButtonItem = backbi; 在AppDelegate类型的对象上未找到属性'navigationItem' – prabhu 2013-03-26 18:26:32

+1

self.navigationItem只能在从视图控制器使用时才起作用。 – Jano 2013-03-26 21:15:37