iPhone – 如何复制后退按钮?

我知道更改后退按钮文本颜色的唯一方法是制作自己的自定义按钮:

self.navigationItem.backBarButtonItem = yourCustomBackButton;

我的问题是:如何创建一个后退按钮,其中考虑了色调,看起来与默认后退按钮完全相同,除了文本的颜色(除非是白色)?

最佳答案 将类别添加到UINavigationBar并在其中设置它的背景颜色.此代码还说明了如何使用图像.

@implementation UINavigationBar (UINavigationBarCategory)
- (void)drawRect:(CGRect)rect {

/***
 // use a custom color
 UIColor *color = [UIColor colorWithRed:.455 green:.365 blue:0 alpha:.9];
 3    CGContextRef context = UIGraphicsGetCurrentContext();
 4    CGContextSetFillColor(context, CGColorGetComponents( [color CGColor]));
 5    CGContextFillRect(context, rect);
 6    self.tintColor = color;
 ***/

// use a custom background image
UIImage *img  = [UIImage imageNamed: [PlistVariables sharedInstance].navbarBackgroundImageName ];
[img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
self.tintColor = [PlistVariables sharedInstance].navbarTintColor;
 }

这是使用RGB 192,93,0作为背景棕色的一些示例输出:

点赞