Не могу установить textColor UILabel - PullRequest
0 голосов
/ 30 апреля 2018

В настоящее время я работаю над динамической формой, созданной на основе UITableViewCells Xibs.

if disabled {
    self.passTitleLabel.textColor = UIColor(named: "Dark Blue")
    self.textField.textColor = UIColor(named: "Dark Blue")
} else {
    self.passTitleLabel.textColor = UIColor(named: "Light Blue")
    self.textField.textColor = .white
}

UILabel (passTitleLabel) сохраняет цвет, установленный в файле раскадровки, и не изменяется должным образом. UILabel включена и не выделена, но она все еще сохраняет цвет на раскадровке.

Все цвета работают в других классах (они на Assets.xcassets). Метка правильно установлена ​​с помощью IBOutlet.

1 Ответ

0 голосов
/ 10 сентября 2018

столкнулся с той же проблемой, занял у меня некоторое время, но, наконец, нашел ответ. Похоже, ваш UITableViewCell или UICollectionViewCell выполняется в фоновом потоке, связанные с пользовательским интерфейсом операции должны выполняться в основном потоке, или это может привести к проблемам такого типа.

if disabled {
   DispatchQueue.main.async {
      self.passTitleLabel.textColor = UIColor(named: "Dark Blue")
      self.textField.textColor = UIColor(named: "Dark Blue")
   }
} else {
   DispatchQueue.main.async {
      self.passTitleLabel.textColor = UIColor(named: "Light Blue")
      self.textField.textColor = .white
   }
}
...