Skip to content

Commit d797476

Browse files
committed
[trello.com/c/QBfqpo6A] Handle case when it does not save width for split view controller
1 parent c7b0a0c commit d797476

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

Adamant/App/AppDelegate.swift

+5-5
Original file line numberDiff line numberDiff line change
@@ -774,7 +774,7 @@ private func makeSplitController(storageKey: UserDefaultsKey) -> UISplitViewCont
774774

775775
controller.preferredDisplayMode = .oneBesideSecondary
776776

777-
let minimumPrimaryColumnWidth: CGFloat = UIScreen.main.bounds.width * 0.2
777+
let minimumPrimaryColumnWidth: CGFloat = UIScreen.main.bounds.width * 0.1666
778778
// Set the minimum ratio to 1:5, or to 300px if 1:5 results in a smaller value
779779
controller.minimumPrimaryColumnWidth = minimumPrimaryColumnWidth > 400 ? minimumPrimaryColumnWidth : 400
780780

@@ -785,12 +785,11 @@ private func makeSplitController(storageKey: UserDefaultsKey) -> UISplitViewCont
785785
}
786786

787787
private final class AdamantSplitViewController: UISplitViewController {
788-
var storageKey: UserDefaultsKey = .leftSplitViewController
788+
var storageKey: UserDefaultsKey? = .none
789789

790790
override func viewDidLoad() {
791791
super.viewDidLoad()
792-
let stored = UserDefaults.standard.object(forKey: storageKey.rawValue) as? Double
793-
guard let stored = stored, stored > 0.3334, stored < 0.75 else {
792+
guard let key = storageKey?.rawValue, let stored = (UserDefaults.standard.object(forKey: key) as? Double), stored >= 0.1666, stored <= 0.75 else {
794793
preferredPrimaryColumnWidthFraction = 0.3334
795794
return
796795
}
@@ -799,7 +798,8 @@ private final class AdamantSplitViewController: UISplitViewController {
799798

800799
override func viewWillLayoutSubviews() {
801800
super.viewWillLayoutSubviews()
801+
guard let key = storageKey?.rawValue else { return }
802802
let fraction = primaryColumnWidth / view.bounds.width
803-
UserDefaults.standard.set(fraction, forKey: storageKey.rawValue)
803+
UserDefaults.standard.set(fraction, forKey: key)
804804
}
805805
}

0 commit comments

Comments
 (0)