From 9219eea83400a62f4647356d0b87bc5d1fb8768d Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Mon, 3 Oct 2022 13:30:45 -0500 Subject: [PATCH] Add the Nav Controller configuration back in because the defaults don't look good with some Article Themes --- iOS/SceneCoordinator.swift | 42 ++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/iOS/SceneCoordinator.swift b/iOS/SceneCoordinator.swift index 79fe5be0f..1c5c8dec6 100644 --- a/iOS/SceneCoordinator.swift +++ b/iOS/SceneCoordinator.swift @@ -289,15 +289,24 @@ class SceneCoordinator: NSObject, UndoableCommandRunner, Logging { self.masterFeedViewController = rootSplitViewController.viewController(for: .primary) as? MasterFeedViewController self.masterFeedViewController.coordinator = self - self.masterFeedViewController?.navigationController?.delegate = self - + if let navController = self.masterFeedViewController?.navigationController { + navController.delegate = self + configureNavigationController(navController) + } + self.masterTimelineViewController = rootSplitViewController.viewController(for: .supplementary) as? MasterTimelineViewController self.masterTimelineViewController?.coordinator = self - self.masterTimelineViewController?.navigationController?.delegate = self + if let navController = self.masterTimelineViewController?.navigationController { + navController.delegate = self + configureNavigationController(navController) + } self.articleViewController = rootSplitViewController.viewController(for: .secondary) as? ArticleViewController self.articleViewController?.coordinator = self - + if let navController = self.articleViewController?.navigationController { + configureNavigationController(navController) + } + for sectionNode in treeController.rootNode.childNodes { markExpanded(sectionNode) shadowTable.append((sectionID: "", feedNodes: [FeedNode]())) @@ -1370,6 +1379,31 @@ extension SceneCoordinator: UINavigationControllerDelegate { private extension SceneCoordinator { + func configureNavigationController(_ navController: UINavigationController) { + + let scrollEdge = UINavigationBarAppearance() + scrollEdge.configureWithOpaqueBackground() + scrollEdge.shadowColor = nil + scrollEdge.shadowImage = UIImage() + + let standard = UINavigationBarAppearance() + standard.shadowColor = .opaqueSeparator + standard.shadowImage = UIImage() + + navController.navigationBar.standardAppearance = standard + navController.navigationBar.compactAppearance = standard + navController.navigationBar.scrollEdgeAppearance = scrollEdge + navController.navigationBar.compactScrollEdgeAppearance = scrollEdge + + navController.navigationBar.tintColor = AppAssets.primaryAccentColor + + let toolbarAppearance = UIToolbarAppearance() + navController.toolbar.standardAppearance = toolbarAppearance + navController.toolbar.compactAppearance = toolbarAppearance + navController.toolbar.scrollEdgeAppearance = toolbarAppearance + navController.toolbar.tintColor = AppAssets.primaryAccentColor + } + func markArticlesWithUndo(_ articles: [Article], statusKey: ArticleStatus.Key, flag: Bool, completion: (() -> Void)? = nil) { guard let undoManager = undoManager, let markReadCommand = MarkStatusCommand(initialArticles: articles, statusKey: statusKey, flag: flag, undoManager: undoManager, completion: completion) else {