Изменение цвета заголовка панели навигации и цвета заголовка кнопки "Назад"

Хочу поменять UINavigationBar titleColor.

Я также хочу изменить textColor из UINavigationBar backButton.

Я использую iPhone Os sdk 3.1.2


person Rupesh    schedule 05.11.2009    source источник


Ответы (4)


На часть этого вопроса уже был дан ответ.

Затем, чтобы изменить цвет заголовка кнопки возврата, я бы предложил создать настраиваемую кнопку с меткой:

UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:yourViewWithColoredText];
navigationItem.leftBarButtonItem = buttonItem; // assign it as the left button

yourViewWithColoredText должен быть настраиваемым представлением, содержащим ваш цветной текст. Затем, в зависимости от того, что вы хотите, вы можете сделать ее похожей на стандартную кнопку возврата.

person Jean Regisser    schedule 05.11.2009

Это сработало для меня.

Используя это, вы можете изменить цвет всех кнопок навигации:

 [[UIBarButtonItem appearance] setTintColor:[UIColor redColor]];

Замените redColor следующим, чтобы настроить цвет кнопок:

colorWithRed:0/255.0 green:144/255.0 blue:200/255.0 alpha:1.0// pick your color using this

Обязательно поместите это в контроллер представления, который нажимает. Не тот контроллер представления, на котором вы хотите видеть этот цвет кнопки возврата.

person SirRupertIII    schedule 20.08.2012

Вы можете установить titleView, определенный в UINavigationBar.h как:

 @property(nonatomic,retain) UIView *titleView;
// Custom view to use in lieu of a title. May be sized horizontally. Only used when item is topmost on the stack.

Вставьте туда свой собственный UILabel любого цвета, который вам нужен.

person Kenny Winker    schedule 05.11.2009

Установите title на UINavigationBar на iOS 5 и 6

[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIColor blackColor] forKey:UITextAttributeTextColor]];

На iOS 7

self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName: [UIColor blackColor]};


Установите textColor на всех UIBarButtonItem

NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:
                                    [UIColor blackColor], UITextAttributeTextColor,
                                    [UIColor clearColor], UITextAttributeTextShadowColor, nil];

[[UIBarButtonItem appearance] setTitleTextAttributes:attributes forState: UIControlStateNormal];
person Roland Keesom    schedule 06.05.2014