From be31611cb7aba0020e0e5bbee12e2841edd7cf3d Mon Sep 17 00:00:00 2001 From: Riley Testut Date: Thu, 7 Dec 2023 16:50:31 -0600 Subject: [PATCH] Adopts automatic status bar tinting on iOS 17 for App + Source detail screens --- AltStore/App Detail/AppViewController.swift | 20 ++++++++++++++++--- .../HeaderContentViewController.swift | 20 ++++++++++++++++--- 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/AltStore/App Detail/AppViewController.swift b/AltStore/App Detail/AppViewController.swift index da740083..dcd45739 100644 --- a/AltStore/App Detail/AppViewController.swift +++ b/AltStore/App Detail/AppViewController.swift @@ -48,7 +48,15 @@ final class AppViewController: UIViewController private var _preferredStatusBarStyle: UIStatusBarStyle = .default override var preferredStatusBarStyle: UIStatusBarStyle { - return _preferredStatusBarStyle + if #available(iOS 17, *) + { + // On iOS 17+, .default will update the status bar automatically. + return .default + } + else + { + return _preferredStatusBarStyle + } } override func viewDidLoad() @@ -389,7 +397,10 @@ private extension AppViewController self._preferredStatusBarStyle = .default } - self.navigationController?.setNeedsStatusBarAppearanceUpdate() + if #unavailable(iOS 17) + { + self.navigationController?.setNeedsStatusBarAppearanceUpdate() + } } func hideNavigationBar() @@ -402,7 +413,10 @@ private extension AppViewController self._preferredStatusBarStyle = .lightContent - self.navigationController?.setNeedsStatusBarAppearanceUpdate() + if #unavailable(iOS 17) + { + self.navigationController?.setNeedsStatusBarAppearanceUpdate() + } } // Copied from HeaderContentViewController diff --git a/AltStore/Components/HeaderContentViewController.swift b/AltStore/Components/HeaderContentViewController.swift index ce03e2bd..c7176907 100644 --- a/AltStore/Components/HeaderContentViewController.swift +++ b/AltStore/Components/HeaderContentViewController.swift @@ -65,7 +65,15 @@ class HeaderContentViewController