Изменение цвета шрифта UIBarButtonItem

Я попытался изменить цвет шрифта кнопки правой панели на фиолетовый, но он по-прежнему отображается белым. Я проконсультировался с этим вопросом и этим вопрос. Как это исправить?

Код

let sortButton = UIButton(frame: CGRect(x: 0, y: 0, width: 34, height: 15))
    sortButton.setTitle("SORT", for: .normal)
    sortButton.titleLabel?.tintColor = UIColor.myMusicPurple
    sortButton.tintColor = UIColor.myMusicPurple        
    navigationItem.rightBarButtonItem =  UIBarButtonItem(customView: sortButton)
    navigationItem.rightBarButtonItem?.tintColor = UIColor.myMusicPurple

person Alex    schedule 03.07.2017    source источник


Ответы (5)


А как насчет использования:

func setTitleColor(UIColor?, for: UIControlState)

В документации говорится, что он устанавливает цвет заголовка для использования в указанном состоянии.

sortButton.setTitleColor( .red, for: .normal)
person Refactor    schedule 03.07.2017
comment
Это не должен быть общепринятым ответом. UIBarButtonItem не имеет setTitleColor. Правильный ответ - использовать tintColor. - person JaredH; 27.03.2019

Это должно помочь (если у вас простой текст)

let rightBarButtonItem = UIBarButtonItem(title: "Some text", style: .plain, target: self, action: #selector(someAction))
rightBarButtonItem.tintColor = UIColor.myMusicPurple

navigationItem.rightBarButtonItem = rightBarButtonItem
person Kristijan Delivuk    schedule 03.07.2017

Пожалуйста, попробуйте это

sortButton.setTitleTextAttributes([NSAttributedStringKey.foregroundColor : UIColor.white], for: .normal)
person Avinash    schedule 05.01.2018

Это просто, просто создайте ссылку для UIBarButtonItem из Main.stroyboard на соответствующий быстрый файл, подобный этому,

@IBOutlet var yourBarBtn: UIBarButtonItem!

После этого напишите эту строку,

yourBarBtn.tintColor = .white //your_color

Вот и все!

person Kaushal Topinkatti    schedule 16.08.2018

Во-первых, вам нужно установить простые свойства, а затем после того, как вы можете писать как будто.

введите здесь описание изображения

  @IBOutlet weak var btnGenerate: UIBarButtonItem!

  btnGenerate.setTitleTextAttributes([NSAttributedString.Key.foregroundColor : UIColor.colorBlue], for: .normal)
person kalpesh    schedule 29.11.2019