Выбор строки поиска приводит к исчезновению таблицы и панели поиска. - PullRequest
0 голосов
/ 13 апреля 2020

Я использовал очень похожий код для другого приложения, и строка поиска ведет себя как следует. По какой-то причине этот код ниже не работает с моим текущим приложением. Поиск в Интернете не дал никаких ответов. Функции делегата не являются причиной этого, поскольку, когда я закомментирую весь их код, это приводит к точно такому же поведению. Фактически, когда я закомментирую большую часть этого кода ниже, это приводит к тому же самому поведению. Я не знаю, почему нажатие на поиск разрушает мой пользовательский интерфейс. Я что-то пропустил? Я должен быть ...

private func configureSearchBar() {
    searchController.searchResultsUpdater = self
    searchController.dimsBackgroundDuringPresentation = false
    searchController.searchBar.showsCancelButton = true
    searchController.searchBar.delegate = self
    searchController.searchBar.isUserInteractionEnabled = true
    definesPresentationContext = true
    searchController.obscuresBackgroundDuringPresentation = false
    searchController.searchBar.translatesAutoresizingMaskIntoConstraints = false
    view.addSubview(searchController.searchBar)
    searchController.searchBar.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 20).isActive = true
    searchController.searchBar.rightAnchor.constraint(equalTo: view.rightAnchor, constant: -20).isActive = true
    searchController.searchBar.heightAnchor.constraint(equalToConstant: 55).isActive = true
    searchController.searchBar.topAnchor.constraint(equalTo: agendaLabel.bottomAnchor, constant: 8).isActive = true
    let color:UIColor = .journeyGold
    let lightGold = color.withAlphaComponent(0.5)
    searchController.searchBar.tintColor = lightGold
    searchController.searchBar.barTintColor = lightGold
    searchController.searchBar.backgroundColor = lightGold
    searchController.searchBar.layer.borderColor = lightGold.cgColor
    navigationItem.hidesSearchBarWhenScrolling = false
    searchController.hidesNavigationBarDuringPresentation = true
    searchController.searchBar.text = ""
    searchController.searchBar.setShowsCancelButton(true, animated: false)
}
...