summaryrefslogtreecommitdiffhomepage
path: root/ios/MullvadVPN/CustomSplitViewController.swift
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2021-04-08 12:31:08 +0200
committerAndrej Mihajlov <and@mullvad.net>2021-04-14 20:22:23 +0200
commitaf84e8fca1f896d06f44cde0694412e76e383ba2 (patch)
tree83fe28b78091a76c1f106cfb73d41f58c5190457 /ios/MullvadVPN/CustomSplitViewController.swift
parentfb4203d87b4ea1b3e1a1c4f729da1e3c32624361 (diff)
downloadmullvadvpn-af84e8fca1f896d06f44cde0694412e76e383ba2.tar.xz
mullvadvpn-af84e8fca1f896d06f44cde0694412e76e383ba2.zip
Add CustomSplitViewController
Diffstat (limited to 'ios/MullvadVPN/CustomSplitViewController.swift')
-rw-r--r--ios/MullvadVPN/CustomSplitViewController.swift57
1 files changed, 57 insertions, 0 deletions
diff --git a/ios/MullvadVPN/CustomSplitViewController.swift b/ios/MullvadVPN/CustomSplitViewController.swift
new file mode 100644
index 0000000000..557c2f23d7
--- /dev/null
+++ b/ios/MullvadVPN/CustomSplitViewController.swift
@@ -0,0 +1,57 @@
+//
+// CustomSplitViewController.swift
+// MullvadVPN
+//
+// Created by pronebird on 07/04/2021.
+// Copyright © 2021 Mullvad VPN AB. All rights reserved.
+//
+
+import UIKit
+
+class CustomSplitViewController: UISplitViewController, RootContainment {
+
+ var preferredHeaderBarStyle: HeaderBarStyle {
+ for case let viewController as RootContainment in viewControllers {
+ return viewController.preferredHeaderBarStyle
+ }
+ return .default
+ }
+
+ var prefersHeaderBarHidden: Bool {
+ for case let viewController as RootContainment in viewControllers {
+ return viewController.prefersHeaderBarHidden
+ }
+ return false
+ }
+
+ var dividerColor: UIColor? {
+ didSet {
+ if isViewLoaded {
+ self.updateDividerColor()
+ }
+ }
+ }
+
+ override func viewDidLayoutSubviews() {
+ super.viewDidLayoutSubviews()
+
+ updateDividerColor()
+ }
+
+ private var dividerView: UIView? {
+ let subviews = view.subviews.flatMap { (view) -> [UIView] in
+ return [view] + view.subviews
+ }
+
+ return subviews.first { (view) -> Bool in
+ return view.description.hasPrefix("<UIPanelBorderView")
+ }
+ }
+
+ private func updateDividerColor() {
+ guard let dividerColor = dividerColor else { return }
+
+ dividerView?.backgroundColor = dividerColor
+ }
+
+}