iPhone - Как установить собственный цвет на панели навигации элемента "Еще"?

Всем Дня

Это небольшая деталь, но она влияет на профессиональную отделку моего приложения.

Мое приложение следует шаблону панели вкладок с панелью навигации на каждой вкладке с более чем 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 делает.

Любые предложения о том, как я могу иметь свой торт и съесть его тоже.

ТИА, Педро:)

2 ответа

Решение

Он был рассмотрен ранее в Stackru, который указывает на этот блог, но ответ заключается в следующем:

tabBarController.moreNavigationController.navigationBar.tintColor =
[UIColor orangeColor];

Добавить категорию в UINavigationBar и переопределить -drawRect:? (Вместо этого вы можете делать забавные вещи, такие как рисование изображения...)

Другие вопросы по тегам