据我所知,改变后退按钮文字颜色的唯一方法是制作自己的自定义按钮:
self.navigationItem.backBarButtonItem = yourCustomBackButton;
我的问题是:我如何创建一个后退按钮,它将色调颜色考虑在内,看起来与默认后退按钮完全相同,除了文本的颜色(除非它是白色的)?
答案 0 :(得分:2)
在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作为背景棕色的一些示例输出:
答案 1 :(得分:0)
实际上无法更改后退按钮的文本颜色。但是,您可以为leftBarButtonItem属性分配自定义视图。我已经整理了一个简单的小项目,展示如何重新创建标准iOS UI的输入/输出动画。需要进行一些黑客攻击,但您应该能够将带有标签的按钮分配给自定义视图并更新。
https://github.com/typeoneerror/BBCustomBackButtonViewController