diff --git a/Mastodon/Scene/Search/Search/SearchViewController.swift b/Mastodon/Scene/Search/Search/SearchViewController.swift index 7efef2c00..581fa08b3 100644 --- a/Mastodon/Scene/Search/Search/SearchViewController.swift +++ b/Mastodon/Scene/Search/Search/SearchViewController.swift @@ -23,15 +23,15 @@ final class HeightFixedSearchBar: UISearchBar { final class SearchViewController: UIViewController, NeedsDependency { let logger = Logger(subsystem: "SearchViewController", category: "ViewController") - + weak var context: AppContext! { willSet { precondition(!isViewLoaded) } } weak var coordinator: SceneCoordinator! { willSet { precondition(!isViewLoaded) } } var searchTransitionController = SearchTransitionController() - + var disposeBag = Set() var viewModel: SearchViewModel! - + // use AutoLayout could set search bar margin automatically to // layout alongside with split mode button (on iPad) let titleViewContainer = UIView() @@ -73,19 +73,19 @@ extension SearchViewController { override func viewDidLoad() { super.viewDidLoad() - setupBackgroundColor(theme: ThemeService.shared.currentTheme.value) + setupAppearance(theme: ThemeService.shared.currentTheme.value) ThemeService.shared.currentTheme .receive(on: DispatchQueue.main) .sink { [weak self] theme in guard let self = self else { return } - self.setupBackgroundColor(theme: theme) + self.setupAppearance(theme: theme) } .store(in: &disposeBag) title = L10n.Scene.Search.title setupSearchBar() - + // collectionView.translatesAutoresizingMaskIntoConstraints = false // view.addSubview(collectionView) // NSLayoutConstraint.activate([ @@ -101,7 +101,7 @@ extension SearchViewController { // ) guard let discoveryViewController = self.discoveryViewController else { return } - + addChild(discoveryViewController) discoveryViewController.view.translatesAutoresizingMaskIntoConstraints = false view.addSubview(discoveryViewController.view) @@ -111,15 +111,16 @@ extension SearchViewController { discoveryViewController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor), discoveryViewController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor), ]) - + // discoveryViewController.view.isHidden = true + } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) viewModel.viewDidAppeared.send() - + // note: // need set alpha because (maybe) SDK forget set alpha back titleViewContainer.alpha = 1 @@ -127,8 +128,22 @@ extension SearchViewController { } extension SearchViewController { - private func setupBackgroundColor(theme: Theme) { + private func setupAppearance(theme: Theme) { view.backgroundColor = theme.systemGroupedBackgroundColor + + // Match the DiscoveryViewController tab color and remove the double separator. + let navigationBarAppearance = UINavigationBarAppearance() + navigationBarAppearance.configureWithOpaqueBackground() + navigationBarAppearance.backgroundColor = theme.systemBackgroundColor + navigationBarAppearance.shadowColor = nil + + navigationItem.standardAppearance = navigationBarAppearance + navigationItem.scrollEdgeAppearance = navigationBarAppearance + navigationItem.compactAppearance = navigationBarAppearance + + if #available(iOS 15, *) { + navigationItem.compactScrollEdgeAppearance = navigationBarAppearance + } } private func setupSearchBar() {