Почему UIButton.titleLabel? .Text всегда переключается обратно после того, как я изменил его в Swift 5 (UIKit)? - PullRequest
1 голос
/ 22 апреля 2020

Я столкнулся с проблемой с моим UIButton.

После того, как пользователь нажмет кнопку, он активирует IBAction , который должен изменить titleLabel.text моего UIButton .

self.btnAppleHealthKit.titleLabel?.text = "Already pressed."

При каждом нажатии кнопки текст изменяется примерно на четверть секунды до "Already pressed", , но сразу переключается на предыдущий текст.

Важное примечание: Все это внутри обработчика завершения, но я обернул его в DispatchQueue.main.async { }

Можете ли вы придумать идею, почему эта ошибка появляется? Заранее спасибо за помощь.

1 Ответ

2 голосов
/ 22 апреля 2020

Кажется, UIButton не позволяет настроить text или color из titleLabel.

С apple do c .s

Не используйте объект метки для установки цвета текста или цвета тени. Вместо этого используйте setTitleColor (: for :) и setTitleShadowColor (: for :) методы этого класса, чтобы внести эти изменения. Чтобы установить фактический текст метки, используйте setTitle (_: for :) (button.titleLabel.text не позволяет вам установить текст) .

...