Согласно моему пониманию видео WWD C 2019 "Реализация темного режима в iOS", динамические цвета c разрешаются с использованием UITraitCollection.current
. Обновленная коллекция черт готова только в определенных методах, таких как draw
, viewWillLayoutSubviews
et c.
Так что, если я использую цвета Dynami c внутри viewDidLoad, например, цвета не должны обновлять автоматически при переключении режима. Тем не менее, они обновляются
Ниже приведен мой код:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
view.backgroundColor = .systemBackground
let label = UILabel(frame: CGRect(x: 100, y: 100, width: 100, height: 20))
label.textColor = UIColor.label
label.text = "Label text"
view.addSubview(label)
}
}
Способ переключения режима в симуляторе был Настройки -> Разработчик -> Темный вид , Затем я вывел свое приложение на передний план.
Как автоматически обновлялся цвет?
Примечание: я не тестировал на своем устройстве.