はじめに
表題の通りです。
ハマったので共有します。。。
現象
AssetsCatalogで作成したColorSetをstoryboardで指定します。
上記画像ではViewControllerのviewに作成した色を指定しています。
ViewController.swift
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = .red
}
}
viewDidLoadで背景色を赤に変更してみましたが、緑のままでした。。。
解決?
メインスレッドで非同期実行することで色の変更は出来ました。
ViewController.swift
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
DispatchQueue.main.async {
self.view.backgroundColor = .red
}
}
}
さいごに
どなたか理由や対策をご存知の方がいらっしゃったら教えてください。。
↓
コメントにて解説いただけました!ありがとうございました。
また、海外にもまとめている方がいらっしゃいました。
https://devblog.xero.com/managing-ui-colours-with-ios-11-asset-catalogs-16500ba48205