Disable non-stack navigation on Max iPhones

This commit is contained in:
Shadowfacts 2024-04-15 11:33:52 -04:00
parent 1f9806d02f
commit 405d5def7c
1 changed files with 16 additions and 8 deletions

View File

@ -66,14 +66,20 @@ class MainSplitViewController: UISplitViewController {
}
let nav: UIViewController
navigationMode = Preferences.shared.widescreenNavigationMode
switch navigationMode! {
case .stack:
let visionIdiom = UIUserInterfaceIdiom(rawValue: 6)
if [visionIdiom, .pad, .mac].contains(UIDevice.current.userInterfaceIdiom) {
navigationMode = Preferences.shared.widescreenNavigationMode
switch navigationMode! {
case .stack:
nav = EnhancedNavigationViewController()
case .splitScreen:
nav = SplitNavigationController()
case .multiColumn:
nav = MultiColumnNavigationController()
}
} else {
navigationMode = .stack
nav = EnhancedNavigationViewController()
case .splitScreen:
nav = SplitNavigationController()
case .multiColumn:
nav = MultiColumnNavigationController()
}
setViewController(nav, for: .secondary)
@ -115,7 +121,9 @@ class MainSplitViewController: UISplitViewController {
}
private func updateNavigationMode(_ mode: WidescreenNavigationMode) {
guard mode != navigationMode else {
let visionIdiom = UIUserInterfaceIdiom(rawValue: 6)
guard [visionIdiom, .pad, .mac].contains(UIDevice.current.userInterfaceIdiom),
mode != navigationMode else {
return
}
navigationMode = mode