diff --git a/AltStore/Base.lproj/Main.storyboard b/AltStore/Base.lproj/Main.storyboard
index 5e796cf0..6a392a2c 100644
--- a/AltStore/Base.lproj/Main.storyboard
+++ b/AltStore/Base.lproj/Main.storyboard
@@ -19,9 +19,6 @@
-
-
-
@@ -30,7 +27,7 @@
-
+
diff --git a/AltStore/Components/AppBannerView.swift b/AltStore/Components/AppBannerView.swift
index e2eb257d..4e9c6802 100644
--- a/AltStore/Components/AppBannerView.swift
+++ b/AltStore/Components/AppBannerView.swift
@@ -11,6 +11,8 @@ import Roxas
class AppBannerView: RSTNibView
{
+ private var originalTintColor: UIColor?
+
@IBOutlet var titleLabel: UILabel!
@IBOutlet var subtitleLabel: UILabel!
@IBOutlet var iconImageView: AppIconImageView!
@@ -25,6 +27,11 @@ class AppBannerView: RSTNibView
{
super.tintColorDidChange()
+ if self.tintAdjustmentMode != .dimmed
+ {
+ self.originalTintColor = self.tintColor
+ }
+
self.update()
}
}
@@ -36,9 +43,7 @@ private extension AppBannerView
self.clipsToBounds = true
self.layer.cornerRadius = 22
- self.subtitleLabel.textColor = self.tintColor
- self.button.tintColor = self.tintColor
-
- self.backgroundEffectView.backgroundColor = self.tintColor
+ self.subtitleLabel.textColor = self.originalTintColor ?? self.tintColor
+ self.backgroundEffectView.backgroundColor = self.originalTintColor ?? self.tintColor
}
}
diff --git a/AltStore/LaunchViewController.swift b/AltStore/LaunchViewController.swift
index 7cb18eb9..97554963 100644
--- a/AltStore/LaunchViewController.swift
+++ b/AltStore/LaunchViewController.swift
@@ -11,6 +11,8 @@ import Roxas
class LaunchViewController: RSTLaunchViewController
{
+ private var didFinishLaunching = false
+
override var launchConditions: [RSTLaunchCondition] {
let isDatabaseStarted = RSTLaunchCondition(condition: { DatabaseManager.shared.isStarted }) { (completionHandler) in
DatabaseManager.shared.start(completionHandler: completionHandler)
@@ -18,6 +20,14 @@ class LaunchViewController: RSTLaunchViewController
return [isDatabaseStarted]
}
+
+ override var childForStatusBarStyle: UIViewController? {
+ return self.children.first
+ }
+
+ override var childForStatusBarHidden: UIViewController? {
+ return self.children.first
+ }
}
extension LaunchViewController
@@ -44,9 +54,24 @@ extension LaunchViewController
{
super.finishLaunching()
+ guard !self.didFinishLaunching else { return }
+
AppManager.shared.update()
PatreonAPI.shared.refreshPatreonAccount()
- self.performSegue(withIdentifier: "finishLaunching", sender: nil)
+ // Add view controller as child (rather than presenting modally)
+ // so tint adjustment + card presentations works correctly.
+ let viewController = self.storyboard!.instantiateViewController(withIdentifier: "tabBarController") as! TabBarController
+ viewController.view.frame = CGRect(x: 0, y: 0, width: self.view.bounds.width, height: self.view.bounds.height)
+ viewController.view.alpha = 0.0
+ self.addChild(viewController)
+ self.view.addSubview(viewController.view, pinningEdgesWith: .zero)
+ viewController.didMove(toParent: self)
+
+ UIView.animate(withDuration: 0.2) {
+ viewController.view.alpha = 1.0
+ }
+
+ self.didFinishLaunching = true
}
}