Я хочу изменить цвет кнопки назад на панели навигации, чтобы он выглядел следующим образом:
IOS 5 Как изменить цвет кнопки "Назад" на панели навигации?
Ответ 1
Установите backBarButtonItem
tintColor
:
self.navigationItem.backBarButtonItem.tintColor = [UIColor redColor];
TIP. Если вы хотите, чтобы это приложение было применено ко всем экземплярам UIBarButtonItem
в вашем приложении по умолчанию, вы можете использовать новый UIAppearance
, чтобы сделать это:
[[UIBarButtonItem appearance] setTintColor:[UIColor redColor]];
Ответ 2
Первая строка ответа jacob не работала для меня, потому что backBarButtonItem был NULL. Это NULL, потому что оно было создано позже автоматически при переключении на другой ViewController. В это время вы можете установить заголовок кнопки с помощью
self.title = @"nice title"; // self is here the view(controller) within the popoverController
но вы не можете установить tintColor.
Что сработало для меня, было создание нового UIBarButtonItem без какого-либо стиля. Затем задайте свойства заголовка и цвета и установите его как backBarButtonItem.
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] init];
backButton.title = @"go back - now!";
backButton.tintColor = [UIColor colorWithRed:0.1 green:0.5 blue:0.7 alpha:1.0];
self.navigationItem.backBarButtonItem = backButton;
[okButton release];
Ответ 3
Если вы хотите, чтобы кнопка выглядела точно так же, как на картинке, вы также можете использовать изображение:
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"back_button_bg"]
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
Фоновое изображение должно быть масштабируемым для хороших результатов.
Ответ 4
Лучший способ найти его глобально или локально
[[UIBarItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:220.0/255.0 green:104.0/255.0 blue:1.0/255.0 alpha:1.0], UITextAttributeTextColor,
[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, 1)], UITextAttributeTextShadowOffset,
[UIFont fontWithName:@"AmericanTypewriter" size:0.0], UITextAttributeFont,
nil]
forState:UIControlStateNormal];
Ответ 5
[[UINavigationBar appearance]setTintColor:[UIColor whiteColor]];
попробуй, это работает для меня...