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:? (Вместо этого вы можете делать забавные вещи, такие как рисование изображения...)