diff --git a/src/plugins/platforms/ios/qiostheme.h b/src/plugins/platforms/ios/qiostheme.h index 594031599a..400637eca1 100644 --- a/src/plugins/platforms/ios/qiostheme.h +++ b/src/plugins/platforms/ios/qiostheme.h @@ -55,6 +55,8 @@ public: const QPalette *palette(Palette type = SystemPalette) const override; QVariant themeHint(ThemeHint hint) const override; + Appearance appearance() const override; + QPlatformMenuItem* createPlatformMenuItem() const override; QPlatformMenu* createPlatformMenu() const override; diff --git a/src/plugins/platforms/ios/qiostheme.mm b/src/plugins/platforms/ios/qiostheme.mm index 9131963818..045b4d45c9 100644 --- a/src/plugins/platforms/ios/qiostheme.mm +++ b/src/plugins/platforms/ios/qiostheme.mm @@ -167,6 +167,19 @@ QVariant QIOSTheme::themeHint(ThemeHint hint) const } } +QPlatformTheme::Appearance QIOSTheme::appearance() const +{ + if (@available(ios 12, *)) { + if (UIWindow *window = qt_apple_sharedApplication().keyWindow) { + return window.rootViewController.traitCollection.userInterfaceStyle + == UIUserInterfaceStyleDark + ? QPlatformTheme::Appearance::Dark + : QPlatformTheme::Appearance::Light; + } + } + return QPlatformTheme::Appearance::Unknown; +} + const QFont *QIOSTheme::font(Font type) const { const auto *platformIntegration = QGuiApplicationPrivate::platformIntegration();