diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2021-04-08 12:31:08 +0200 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2021-04-14 20:22:23 +0200 |
| commit | af84e8fca1f896d06f44cde0694412e76e383ba2 (patch) | |
| tree | 83fe28b78091a76c1f106cfb73d41f58c5190457 /ios/MullvadVPN/CustomSplitViewController.swift | |
| parent | fb4203d87b4ea1b3e1a1c4f729da1e3c32624361 (diff) | |
| download | mullvadvpn-af84e8fca1f896d06f44cde0694412e76e383ba2.tar.xz mullvadvpn-af84e8fca1f896d06f44cde0694412e76e383ba2.zip | |
Add CustomSplitViewController
Diffstat (limited to 'ios/MullvadVPN/CustomSplitViewController.swift')
| -rw-r--r-- | ios/MullvadVPN/CustomSplitViewController.swift | 57 |
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 + } + +} |
