Когда вы переключаетесь в темный режим, все стандартные виды переключаются в темный режим, и вам не нужно ничего делать.
При этом WKWebView показывает «контент», и «контент» не должен изменяться Системой, «контент» должен отображаться в своих собственных цветах. Если вы показываете веб-сайт, система не должна менять цвета.
Но если у вас есть сценарий использования, в котором имеет смысл обновить цвета содержимого вашего представления в системном режиме, то, я думаю, ваш лучший вариант - обнаружить изменение в темный / светлый режим и перезагрузить стили CSS.
Обнаружить изменение можно путем переопределения метода viewDidChangeEffectiveAppearance.
- (void) viewDidChangeEffectiveAppearance
{
[super viewDidChangeEffectiveAppearance] ;
NSLog(@"New appearance is %@",[self effectiveAppearance].name) ;
}
На основе имени внешнего вида (NSAppearanceNameVibrantDark
или NSAppearanceNameVibrantLight
) вы можете загрузить CSS или другой.