diff --git a/iOS/MainTimeline/MainTimelineViewController.swift b/iOS/MainTimeline/MainTimelineViewController.swift index 6a2ad7bcb..78b2f2c77 100644 --- a/iOS/MainTimeline/MainTimelineViewController.swift +++ b/iOS/MainTimeline/MainTimelineViewController.swift @@ -257,6 +257,10 @@ class MainTimelineViewController: UITableViewController, UndoableCommandRunner { becomeFirstResponder() } + func setRefreshToolbarItemVisibility(visible: Bool) { + refreshProgressView?.alpha = visible ? 1.0 : 0 + } + // MARK: - Table view override func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? { diff --git a/iOS/SceneCoordinator.swift b/iOS/SceneCoordinator.swift index 55423868b..2b6ebf9d0 100644 --- a/iOS/SceneCoordinator.swift +++ b/iOS/SceneCoordinator.swift @@ -1311,34 +1311,21 @@ extension SceneCoordinator: UISplitViewControllerDelegate { } func splitViewController(_ svc: UISplitViewController, willChangeTo displayMode: UISplitViewController.DisplayMode) { + + var sidebarIsShowing = false + switch displayMode { - case .automatic: - return - case .secondaryOnly: - return - case .oneBesideSecondary: - // Timeline + Article - show the refresh control on the timeline - mainTimelineViewController?.toolbarItems?[2].customView?.alpha = 1.0 - case .oneOverSecondary: - return - case .twoBesideSecondary: - return - case .twoOverSecondary: - return - case .twoDisplaceSecondary: - // Sidebar + Timeline + Article - hide the refresh control on the timeline - mainTimelineViewController?.toolbarItems?[2].customView?.alpha = 0.0 - case .primaryHidden: - return - case .allVisible: - return - case .primaryOverlay: - return + case .automatic, .secondaryOnly, .oneBesideSecondary, .oneOverSecondary: + sidebarIsShowing = false + case .twoBesideSecondary, .twoOverSecondary, .twoDisplaceSecondary: + sidebarIsShowing = true @unknown default: - return + break } + + let timelineShouldShowRefreshProgress = !sidebarIsShowing + mainTimelineViewController?.setRefreshToolbarItemVisibility(visible: timelineShouldShowRefreshProgress) } - } // MARK: UINavigationControllerDelegate