Skip to content

Instantly share code, notes, and snippets.

@giln
Created May 6, 2019 13:50
Show Gist options
  • Save giln/a7c68ec63d893ee40aecf955d01c1844 to your computer and use it in GitHub Desktop.
Save giln/a7c68ec63d893ee40aecf955d01c1844 to your computer and use it in GitHub Desktop.
import UIKit
open class MovieSearchViewController: UIViewController, UISearchResultsUpdating {
var service: MovieService = MovieStore.shared
// MARK: - Variables
private let movieSearchFetcherViewController = MovieSearchFetcherViewController()
private let searchController = UISearchController(searchResultsController: nil)
// MARK: - Lifecycle
open override func viewDidLoad() {
super.viewDidLoad()
title = "Search Movie"
view.backgroundColor = UIColor.white
setupNavigationBar()
add(asChildViewController: movieSearchFetcherViewController)
}
// MARK: - Private
private func setupNavigationBar() {
navigationItem.searchController = searchController
definesPresentationContext = true
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
searchController.hidesNavigationBarDuringPresentation = false
navigationItem.hidesSearchBarWhenScrolling = false
navigationController?.navigationBar.prefersLargeTitles = true
navigationItem.largeTitleDisplayMode = .automatic
}
// MARK: - UISearchResultsUpdating
public func updateSearchResults(for _: UISearchController) {
movieSearchFetcherViewController.searchMovie(query: searchController.searchBar.text)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment