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 9c8dcb54e..fb47bb990 100644 --- a/iOS/SceneCoordinator.swift +++ b/iOS/SceneCoordinator.swift @@ -127,6 +127,8 @@ class SceneCoordinator: NSObject, UndoableCommandRunner, Logging { return activity } + var isNavigationDisabled = false + var isRootSplitCollapsed: Bool { return rootSplitViewController.isCollapsed } @@ -932,6 +934,11 @@ class SceneCoordinator: NSObject, UndoableCommandRunner, Logging { return } + isNavigationDisabled = true + defer { + isNavigationDisabled = false + } + if selectPrevUnreadArticleInTimeline() { return } @@ -948,6 +955,11 @@ class SceneCoordinator: NSObject, UndoableCommandRunner, Logging { return } + isNavigationDisabled = true + defer { + isNavigationDisabled = false + } + if selectNextUnreadArticleInTimeline() { return } @@ -959,7 +971,6 @@ class SceneCoordinator: NSObject, UndoableCommandRunner, Logging { selectNextUnreadFeed() { self.selectNextUnreadArticleInTimeline() } - } func scrollOrGoToNextUnread() {