Подтвердить что ты не робот

IOS 5 Как изменить цвет кнопки "Назад" на панели навигации?

Я хочу изменить цвет кнопки назад на панели навигации, чтобы он выглядел следующим образом: enter image description here

4b9b3361

Ответ 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]];

попробуй, это работает для меня...