diff --git a/iOS/RootSplitViewController.swift b/iOS/RootSplitViewController.swift index 302d101ec..7b8c9d0c0 100644 --- a/iOS/RootSplitViewController.swift +++ b/iOS/RootSplitViewController.swift @@ -25,6 +25,11 @@ class RootSplitViewController: UISplitViewController { coordinator.resetFocus() } + override func show(_ column: UISplitViewController.Column) { + guard !coordinator.isNavigationDisabled else { return } + super.show(column) + } + // MARK: Keyboard Shortcuts @objc func scrollOrGoToNextUnread(_ sender: Any?) { diff --git a/iOS/SceneCoordinator.swift b/iOS/SceneCoordinator.swift index d4bad3fbf..2bc9b6f42 100644 --- a/iOS/SceneCoordinator.swift +++ b/iOS/SceneCoordinator.swift @@ -118,6 +118,8 @@ class SceneCoordinator: NSObject, UndoableCommandRunner { return activity } + var isNavigationDisabled = false + var isRootSplitCollapsed: Bool { return rootSplitViewController.isCollapsed } @@ -922,6 +924,11 @@ class SceneCoordinator: NSObject, UndoableCommandRunner { return } + isNavigationDisabled = true + defer { + isNavigationDisabled = false + } + if selectPrevUnreadArticleInTimeline() { return } @@ -938,6 +945,11 @@ class SceneCoordinator: NSObject, UndoableCommandRunner { return } + isNavigationDisabled = true + defer { + isNavigationDisabled = false + } + if selectNextUnreadArticleInTimeline() { return } @@ -949,7 +961,6 @@ class SceneCoordinator: NSObject, UndoableCommandRunner { selectNextUnreadFeed() { self.selectNextUnreadArticleInTimeline() } - } func scrollOrGoToNextUnread() {