mirror of
https://github.com/mastodon/mastodon-ios
synced 2025-04-11 22:58:02 +02:00
Merge pull request #565 from kylebshr/kb/search-appearance
Update navigation bar appearance in SearchViewController
This commit is contained in:
commit
a31fc611b1
@ -23,15 +23,15 @@ final class HeightFixedSearchBar: UISearchBar {
|
|||||||
final class SearchViewController: UIViewController, NeedsDependency {
|
final class SearchViewController: UIViewController, NeedsDependency {
|
||||||
|
|
||||||
let logger = Logger(subsystem: "SearchViewController", category: "ViewController")
|
let logger = Logger(subsystem: "SearchViewController", category: "ViewController")
|
||||||
|
|
||||||
weak var context: AppContext! { willSet { precondition(!isViewLoaded) } }
|
weak var context: AppContext! { willSet { precondition(!isViewLoaded) } }
|
||||||
weak var coordinator: SceneCoordinator! { willSet { precondition(!isViewLoaded) } }
|
weak var coordinator: SceneCoordinator! { willSet { precondition(!isViewLoaded) } }
|
||||||
|
|
||||||
var searchTransitionController = SearchTransitionController()
|
var searchTransitionController = SearchTransitionController()
|
||||||
|
|
||||||
var disposeBag = Set<AnyCancellable>()
|
var disposeBag = Set<AnyCancellable>()
|
||||||
var viewModel: SearchViewModel!
|
var viewModel: SearchViewModel!
|
||||||
|
|
||||||
// use AutoLayout could set search bar margin automatically to
|
// use AutoLayout could set search bar margin automatically to
|
||||||
// layout alongside with split mode button (on iPad)
|
// layout alongside with split mode button (on iPad)
|
||||||
let titleViewContainer = UIView()
|
let titleViewContainer = UIView()
|
||||||
@ -73,19 +73,19 @@ extension SearchViewController {
|
|||||||
override func viewDidLoad() {
|
override func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
setupBackgroundColor(theme: ThemeService.shared.currentTheme.value)
|
setupAppearance(theme: ThemeService.shared.currentTheme.value)
|
||||||
ThemeService.shared.currentTheme
|
ThemeService.shared.currentTheme
|
||||||
.receive(on: DispatchQueue.main)
|
.receive(on: DispatchQueue.main)
|
||||||
.sink { [weak self] theme in
|
.sink { [weak self] theme in
|
||||||
guard let self = self else { return }
|
guard let self = self else { return }
|
||||||
self.setupBackgroundColor(theme: theme)
|
self.setupAppearance(theme: theme)
|
||||||
}
|
}
|
||||||
.store(in: &disposeBag)
|
.store(in: &disposeBag)
|
||||||
|
|
||||||
title = L10n.Scene.Search.title
|
title = L10n.Scene.Search.title
|
||||||
|
|
||||||
setupSearchBar()
|
setupSearchBar()
|
||||||
|
|
||||||
// collectionView.translatesAutoresizingMaskIntoConstraints = false
|
// collectionView.translatesAutoresizingMaskIntoConstraints = false
|
||||||
// view.addSubview(collectionView)
|
// view.addSubview(collectionView)
|
||||||
// NSLayoutConstraint.activate([
|
// NSLayoutConstraint.activate([
|
||||||
@ -101,7 +101,7 @@ extension SearchViewController {
|
|||||||
// )
|
// )
|
||||||
|
|
||||||
guard let discoveryViewController = self.discoveryViewController else { return }
|
guard let discoveryViewController = self.discoveryViewController else { return }
|
||||||
|
|
||||||
addChild(discoveryViewController)
|
addChild(discoveryViewController)
|
||||||
discoveryViewController.view.translatesAutoresizingMaskIntoConstraints = false
|
discoveryViewController.view.translatesAutoresizingMaskIntoConstraints = false
|
||||||
view.addSubview(discoveryViewController.view)
|
view.addSubview(discoveryViewController.view)
|
||||||
@ -111,15 +111,16 @@ extension SearchViewController {
|
|||||||
discoveryViewController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
|
discoveryViewController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
|
||||||
discoveryViewController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor),
|
discoveryViewController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor),
|
||||||
])
|
])
|
||||||
|
|
||||||
// discoveryViewController.view.isHidden = true
|
// discoveryViewController.view.isHidden = true
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override func viewDidAppear(_ animated: Bool) {
|
override func viewDidAppear(_ animated: Bool) {
|
||||||
super.viewDidAppear(animated)
|
super.viewDidAppear(animated)
|
||||||
|
|
||||||
viewModel.viewDidAppeared.send()
|
viewModel.viewDidAppeared.send()
|
||||||
|
|
||||||
// note:
|
// note:
|
||||||
// need set alpha because (maybe) SDK forget set alpha back
|
// need set alpha because (maybe) SDK forget set alpha back
|
||||||
titleViewContainer.alpha = 1
|
titleViewContainer.alpha = 1
|
||||||
@ -127,8 +128,22 @@ extension SearchViewController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
extension SearchViewController {
|
extension SearchViewController {
|
||||||
private func setupBackgroundColor(theme: Theme) {
|
private func setupAppearance(theme: Theme) {
|
||||||
view.backgroundColor = theme.systemGroupedBackgroundColor
|
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() {
|
private func setupSearchBar() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user