0

G'day 全部

这是一个小细节,但它确实会影响我的应用程序的专业完成度。

我的应用程序遵循标签栏的模式,每个标签上都有一个导航栏,有超过 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,佩德罗 :)

4

2 回答 2

2

之前在 StackOverflow上已经介绍过,它指向这个博客,但答案是执行以下操作:

tabBarController.moreNavigationController.navigationBar.tintColor =
[UIColor orangeColor];
于 2010-11-24T05:58:50.880 回答
1

向 UINavigationBar 添加类别并覆盖 -drawRect:? (然后您可以做一些有趣的事情,例如绘制图像......)

于 2010-11-23T07:42:58.947 回答