簡體   English   中英

無法設置UILabel的textColor

[英]Can't set textColor of UILabel

我目前正在處理源自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 )保留在Storyboard文件上設置的顏色,並且不會按預期更改。 UILabel已啟用且未突出顯示,但仍保留情節提要板上的顏色。

所有顏色都在其他類中起作用(它們位於Assets.xcassets )。 標簽已通過IBOutlet正確設置。

遇到同樣的問題,花了我一段時間,但終於找到了答案。 看起來您的UITableViewCell或UICollectionViewCell在后台線程中運行,與UI相關的操作需要在主線程中完成,否則可能導致這些類型的問題。

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
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM