G'day All
这是一个小细节,但确实会影响我的应用的专业效果。
我的应用程序遵循标签栏的模式,每个标签上都有一个导航栏,标签超过5个,因此“更多”项目。我有一个自定义色调应用于导航栏但我无法找到一种方法来访问“更多”项目的导航栏来设置它的色调。谁能告诉我怎么样?
...更新
根据UINavigationBar
上的类别建议,我使用了此代码......
@implementation UINavigationBar (UINavigationBar_Additions)
- (void)drawRect:(CGRect)rect {
UIColor *color = [UIColor colorWithRed:0.862745098039216
green:0.568627450980392
blue:0.098039215686275
alpha:1];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColor(context, CGColorGetComponents( [color CGColor]));
CGContextFillRect(context, rect);
[self setBarStyle:UIBarStyleBlack];
[self setTintColor:color];
}
@end
除了Apple的警告(出于对我来说似乎有意义的原因)关于不覆盖这样的隐藏方法,它也会失去UINavigationBar
&上的渐变。我宁愿保留我目前在viewDidLoad
中设置色调的方法。
关于如何获得蛋糕的建议也吃它。
TIA,佩德罗:)
答案 0 :(得分:2)
已涵盖before on StackOverflow,其中指向this blog,但答案是执行以下操作:
tabBarController.moreNavigationController.navigationBar.tintColor =
[UIColor orangeColor];
答案 1 :(得分:1)
向UINavigationBar添加一个类别并覆盖-drawRect:? (然后你可以做一些有趣的事情,比如绘制图像......)