Вы не можете. Вы не можете использовать расширение , чтобы вызвать метод. Вы можете внедрить этот метод, используя расширение, но вам придется вызывать его самостоятельно, явно, в каждом UIView.
В любом случае, вам это не нужноподход. Если вы хотите дать UIView цвет фона, который реагирует на темный / светлый режим, то присвойте цвет фона, который реагирует на темный / светлый режим. В iOS 13 цвета обладают такой способностью;цвет, настроенный таким образом, будет автоматически реагировать на темный / светлый режим . Вы можете создать такой цвет как именованный цвет в каталоге ресурсов или создать его в коде, вызвав init(dynamicProvider:)
. Например:
let myCoolColor = UIColor { tc in
switch tc.userInterfaceStyle {
case .dark:
return UIColor(red: 0.3, green: 0.4, blue: 0.4, alpha: 1)
default:
return UIColor(red: 0, green: 0.1, blue: 0.1, alpha: 1)
}
}
Если назначить myCoolColor
в качестве цвета фона представления, цвет изменится автоматически в зависимости от режима пользователя.