Я использую UISearchController, интегрированный с моим табличным представлением. Чтобы мой searchBar не прокручивался вместе с таблицей, я уже создал View (имя SearchBarView) под панелью навигации, и моя таблица находится под этим представлением. Все элементы в моем представлении настраиваются с использованием автоматического макета:
В моем коде. Я делаю UISearchController как часть SearchBarView и использую функцию sideToFit для автоматического соответствия ширине экрана следующим образом:
self.resultSeachController = ({
let controller = UISearchController(searchResultsController: nil)
controller.searchResultsUpdater = self
controller.dimsBackgroundDuringPresentation = false
controller.searchBar.sizeToFit()
// add searchbar in the searchbarView
self.searchBarView.addSubview(controller.searchBar)
return controller
})()
Моя SearchBar теперь работает отлично, за исключением одного: когда я поворачиваю симулятор, searchBar автоматически не соответствует ширине экрана. Он умещается на экране только тогда, когда я касаюсь SearchBar для чего-то поиска.
Не знаю, как исправить. Я пробовал этот код:
override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
self.resultSeachController.searchBar.sizeToFit()
}
Но это все еще не работает. Как я могу это исправить?