UISearchController Swift 4: Проблемы с пробелами - PullRequest
0 голосов
/ 29 июня 2018

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

Initial spacing issues

Затем, когда я печатаю, черное пространство исчезает, но между строкой поиска и таблицей появляется большое пустое пространство.

Search issues

Я попытался добавить следующую строку, но проблема с пробелами становится хуже:

searchController.hidesNavigationBarDuringPresentation = false

Буду признателен за любые полезные советы.

Вот мой текущий код:

class SearchViewController: UITableViewController {
var searchController: UISearchController!

override func viewDidLoad() {
super.viewDidLoad()

view.backgroundColor = UIColor.clear
view.isOpaque = false
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)

//Set up Table View
self.navigationController?.navigationBar.shadowImage = UIImage()
let searchResultsController = UITableViewController(style: .plain)
searchResultsController.tableView.delegate = self
searchResultsController.tableView.dataSource = self
searchResultsController.tableView.rowHeight = 65
searchResultsController.tableView.register(SearchCell.self, forCellReuseIdentifier: "SearchCell")

// Setup  Search Controller
searchController = UISearchController(searchResultsController: searchResultsController)
searchController.searchBar.tintColor = UIColor.white
searchController.searchBar.barTintColor = UIColor(red: 34/255, green: 167/255, blue: 240/255, alpha: 1.0)
searchController.searchBar.layer.borderColor = UIColor(red: 34/255, green: 167/255, blue: 240/255, alpha: 1.0).cgColor
searchController.searchBar.layer.borderWidth = 1.00

tableView.tableHeaderView?.addSubview(searchController.searchBar)
let searchBar = searchController.searchBar
searchBar.sizeToFit()

searchBar.placeholder = "Search"
searchController.searchBar.delegate = self
searchController.searchResultsUpdater = self
definesPresentationContext = true
searchController.dimsBackgroundDuringPresentation = false
tableView.tableHeaderView = searchController.searchBar
}
...