mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-17 18:53:40 +01:00
Adopts automatic status bar tinting on iOS 17 for App + Source detail screens
This commit is contained in:
@@ -48,7 +48,15 @@ final class AppViewController: UIViewController
|
|||||||
private var _preferredStatusBarStyle: UIStatusBarStyle = .default
|
private var _preferredStatusBarStyle: UIStatusBarStyle = .default
|
||||||
|
|
||||||
override var preferredStatusBarStyle: UIStatusBarStyle {
|
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()
|
override func viewDidLoad()
|
||||||
@@ -389,7 +397,10 @@ private extension AppViewController
|
|||||||
self._preferredStatusBarStyle = .default
|
self._preferredStatusBarStyle = .default
|
||||||
}
|
}
|
||||||
|
|
||||||
self.navigationController?.setNeedsStatusBarAppearanceUpdate()
|
if #unavailable(iOS 17)
|
||||||
|
{
|
||||||
|
self.navigationController?.setNeedsStatusBarAppearanceUpdate()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func hideNavigationBar()
|
func hideNavigationBar()
|
||||||
@@ -402,7 +413,10 @@ private extension AppViewController
|
|||||||
|
|
||||||
self._preferredStatusBarStyle = .lightContent
|
self._preferredStatusBarStyle = .lightContent
|
||||||
|
|
||||||
self.navigationController?.setNeedsStatusBarAppearanceUpdate()
|
if #unavailable(iOS 17)
|
||||||
|
{
|
||||||
|
self.navigationController?.setNeedsStatusBarAppearanceUpdate()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copied from HeaderContentViewController
|
// Copied from HeaderContentViewController
|
||||||
|
|||||||
@@ -65,7 +65,15 @@ class HeaderContentViewController<Header: UIView, Content: ScrollableContentView
|
|||||||
}
|
}
|
||||||
|
|
||||||
override var preferredStatusBarStyle: UIStatusBarStyle {
|
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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
private var _preferredStatusBarStyle: UIStatusBarStyle = .default
|
private var _preferredStatusBarStyle: UIStatusBarStyle = .default
|
||||||
|
|
||||||
@@ -478,7 +486,10 @@ private extension HeaderContentViewController
|
|||||||
self._preferredStatusBarStyle = .default
|
self._preferredStatusBarStyle = .default
|
||||||
}
|
}
|
||||||
|
|
||||||
self.navigationController?.setNeedsStatusBarAppearanceUpdate()
|
if #unavailable(iOS 17)
|
||||||
|
{
|
||||||
|
self.navigationController?.setNeedsStatusBarAppearanceUpdate()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func hideNavigationBar()
|
func hideNavigationBar()
|
||||||
@@ -491,7 +502,10 @@ private extension HeaderContentViewController
|
|||||||
|
|
||||||
self._preferredStatusBarStyle = .lightContent
|
self._preferredStatusBarStyle = .lightContent
|
||||||
|
|
||||||
self.navigationController?.setNeedsStatusBarAppearanceUpdate()
|
if #unavailable(iOS 17)
|
||||||
|
{
|
||||||
|
self.navigationController?.setNeedsStatusBarAppearanceUpdate()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func updateNavigationBarAppearance(isHidden: Bool)
|
func updateNavigationBarAppearance(isHidden: Bool)
|
||||||
|
|||||||
Reference in New Issue
Block a user