Добавление в SearchController приводит к тому, что панель навигации становится черной - PullRequest
0 голосов
/ 07 апреля 2020

Я добавляю UISearchController в свой контроллер навигации, и когда я это делаю, вся панель навигации становится черной вместо того цвета, который я хочу. Однако, когда я нажимаю на строку поиска, он получает go желаемого цвета.

Перед вызовом setupSearch ()

После вызова setupSearch ()

class SearchViewController: UIViewController, UISearchBarDelegate, UISearchControllerDelegate {

    let searchController = UISearchController(searchResultsController: nil)

    override func viewDidLoad() {
        super.viewDidLoad()
        delegate()
        create()
        setupNav()
        setupSearch()
    }

    func delegate() {
        searchController.delegate = self
        searchController.searchBar.delegate = self
    }

    func create() {
        definesPresentationContext = true
        view.backgroundColor = .backgroundColor()
    }

    func setupNav() {
        guard let navController = navigationController else { return }
        navController.navigationBar.prefersLargeTitles = false
        navController.navigationBar.barTintColor = .secondaryColor()
        navController.navigationBar.isTranslucent = false
        navController.navigationBar.topItem?.title = "Browse"
        navController.navigationBar.titleTextAttributes = [.font: UIFont.customHeaderFont(size: 23), .foregroundColor: UIColor.textColor()]
    }

    func setupSearch() {
        let searchBar = searchController.searchBar
        searchBar.backgroundImage = UIImage()

        searchController.extendedLayoutIncludesOpaqueBars = true
        navigationItem.searchController = searchController
    }
}

1 Ответ

0 голосов
/ 07 апреля 2020

Измените цвет фона View (самый внешний), который содержит safeArea, который работает для меня. Причина, по которой вы видите черный цвет, заключается в том, что вы не назначали какой-либо цвет фону «Просмотр», поэтому ему назначен цвет по умолчанию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...