UIBarButtonItem программно меняет цвет - PullRequest
0 голосов
/ 10 марта 2020

У меня есть левый UIBarButtonItem, который работает как переключатель, поэтому я хотел бы сделать его серым, когда он выключен, и обычным оттенком, когда он включен, но я не могу понять, как

Вот код, используемый для назначения кнопок:

    doneHomeworksButton = UIBarButtonItem(image: doneHomeworksButtonImage, style: .plain, target: self, action: #selector(doneHomeworksClicked))
    addButton = UIBarButtonItem(image: plusButtonImage, style: .plain, target: self, action: #selector(plusButtonClicked))

    self.navigationItem.rightBarButtonItem = addButton
    self.navigationItem.leftBarButtonItem = doneHomeworksButton

Это симулятор (я хочу изменить левую кнопку)

1 Ответ

1 голос
/ 10 марта 2020

Это способ, которым я использую текст вместо иконки. Вы можете использовать FM-символы Fontawesome или любой другой. А также вы можете изменить изображение при нажатии кнопки

class ViewController: UIViewController{


var btnTick:UIBarButtonItem?


override func viewDidLoad() {
    super.viewDidLoad()
    view.backgroundColor = .white
    btnTick  = UIBarButtonItem(title: "2", style: .plain, target: self, action: #selector(didClickedBtn(_ :)))
    btnTick?.tintColor = .blue
    navigationItem.leftBarButtonItem = btnTick
}

@objc func didClickedBtn(_ sender : UIBarButtonItem){
    sender.tintColor = .red
    view.layoutIfNeeded()
}

}

enter image description here

enter image description here

...