UIButton setTitleColor не работает, когда я устанавливаю состояние кнопки, чтобы отключить - PullRequest
0 голосов
/ 03 мая 2020

В моем приложении я хочу отключить одну кнопку, поэтому я написал такой код

plusBtn.setTitleColor(.gray, for: .disabled)

Я написал этот код в методе viewDidLoad(). В раскадровке цвет кнопки по умолчанию - зеленый, но впервые при просмотре «Загрузить» он будет в режиме отключения с серым цветом (я знаю, что свойство isEnabled есть, чтобы справиться с этим, но я хочу сделать так), и еще одна важная вещь когда я изменяю состояние кнопки на .normal, она работает нормально, но для .disable она не работает, почему?

Ответы [ 3 ]

0 голосов
/ 03 мая 2020

Запишите его в viewWillAppear вместо viewDidLoad()

 override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        plusBtn.setTitleColor(.gray, for: .disabled)
    }
0 голосов
/ 07 мая 2020

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

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

0 голосов
/ 03 мая 2020

с этим кодом вы не отключаете кнопку. Вы просто устанавливаете цвет для отключенной кнопки.

, но если вы установили свойство в false в раскадровке и правильно подключили свою кнопку к своему коду, это работает. Я только что проверил это. См. Изображение:

enter image description here

...