Как разрешить элементы iOS по умолчанию для определенной черты?

Как разрешить системный элемент iOS по умолчанию, например, сказать UISegmentedControl, к определенному стилю интерфейса?

Я знаю, что цвета могут быть решены следующим образом.

color.resolvedColor(with: UITraitCollection(userInterfaceStyle: .dark))

Как сделать то же самое для элементов iOS по умолчанию?

1 ответ

Решение

Вы можете переопределить стиль интерфейса системы, используя UIView свойство overrideUserInterfaceStyle, Используйте это свойство, чтобы заставить вид всегда принимать светлый или темный стиль интерфейса.

if #available(iOS 13.0, *) {
    segmentedControl.overrideUserInterfaceStyle = .dark
}

Для получения более подробной информации см. Документы здесь.

Соответствующее видео WWDC - Реализация Dark Mode на iOS. (27:00)

Другие вопросы по тегам