Как я могу изменить цвет шрифта элемента UIBarButton? - PullRequest
20 голосов
/ 23 июля 2010

Я хочу изменить цвет на красный.

Ответы [ 6 ]

103 голосов
/ 18 июня 2012

Я нашел более простой способ изменить цвет заголовка: iOS7:

UIBarButtonItem *button = 
 [[UIBarButtonItem alloc] initWithTitle:@"Title" 
                                  style:UIBarButtonItemStyleBordered 
                                 target:nil 
                                 action:nil];
[button setTitleTextAttributes:
          [NSDictionary dictionaryWithObjectsAndKeys: 
               [UIColor redColor], NSForegroundColorAttributeName,nil] 
                                            forState:UIControlStateNormal];

и предыдущая iOS7:

UIBarButtonItem *button = 
  [[UIBarButtonItem alloc] initWithTitle:@"Title" 
                                   style:UIBarButtonItemStyleBordered 
                                  target:nil 
                                  action:nil];
[button setTitleTextAttributes:
          [NSDictionary dictionaryWithObjectsAndKeys: 
               [UIColor redColor], UITextAttributeTextColor,nil] 
                                    forState:UIControlStateNormal];
8 голосов
/ 13 декабря 2013

Существует два способа изменить цвет отображаемого текста UIBarButtonITem.

1)

[barButtonITem setTintColor:[UIColor redColor]];

2) или вы можете использовать любой метод класса UIColor.Это действительно эффективное решение. Хотя для iOS 7 вы можете использовать NSForegroundColorAttributeName и использовать

barButtonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor clearColor],NSForegroundColorAttributeName, nil] forState:UIControlStateNormal];
8 голосов
/ 23 июля 2010

На этот вопрос ответили здесь . По сути, вам нужно создать UIButton, настроить его по своему усмотрению, а затем инициализировать элемент панели кнопок с UIButton в качестве пользовательского представления.

3 голосов
/ 02 октября 2012

На аналогичной заметке от Guvvy Ava вы можете изменить размер шрифта, например

[buttonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIFont fontWithName:@"Helvetica-Bold" size:26.0], UITextAttributeFont,nil] forState:UIControlStateNormal];
1 голос
/ 10 апреля 2018

swift версия 4.0 или новее

barButtonITem.tintColor = UIColor.red   // for textColor change

если вы хотите изменить шрифт, а также цвет текста, используйте следующий код

barButtonITem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor :UIColor.red,NSAttributedStringKey.font:UIFont.init(name:"Avenir", size:15.0)], for: UIControlState.normal)
0 голосов
/ 05 июня 2016

Если вы используете системный элемент кнопки панели навигации, то для изменения цвета оттенка кнопки используйте

self.navigationController.navigationBar.tintColor = [UIColor whiteColor];

Чтобы изменить цвет текста кнопки, используйте также следующий код.

[[UIBarButtonItem appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]} forState:UIControlStateNormal];

Добавьте следующую строку кода, для которого viewcontroller вы хотите изменить свой цвет

...