我知道更改后退按钮文本颜色的唯一方法是制作自己的自定义按钮:
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作为背景棕色的一些示例输出: