Как установить UISearchController searchBar в представлении, которое не является таблицейHeaderView или navigationItem.titleview?

Я пытаюсь держать панель поиска в виду, когда прокручивается таблица. На данный момент я помещаю его как заголовок в tableview, и он работает так, как должен, но, конечно, панель поиска прокручивается с экрана, когда вы идете по столу. Я думал, что могу сделать это, просто изменив этот пример кода:

Как использовать UISearchController в iOS 8, где UISearchBar находится в моей панели навигации и имеет кнопки области видимости?

searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.delegate = self
searchController.searchBar.delegate = self
searchController.dimsBackgroundDuringPresentation = false
searchController.hidesNavigationBarDuringPresentation = false
tableview.tableHeaderView = searchContoller.searchBar // How to put it elsewhere?
//Alternative that also works
navigationItem.titleView = searchController.searchBar

Идея заключалась в том, чтобы взять другой взгляд и сделать

otherview = searchController.searchBar

Например, выход в UISearchBar или пустой UIView или что-то в этом роде.

Но он не показывает searchBar, если я это сделаю. Кажется, он работает только как представление заголовка таблицы или как navigationItem.titleView.

Я что-то пропустил?

Ответ 1

Если у вас есть пустой UIView, который помещен над табличным представлением.

предположим, что у вас есть выход к этому пустому UIView, называемому searchContainer. Затем вы можете добавить строку поиска UISearchController к этому виду, добавив следующую строку

searchContainer.addSubview(searchController.searchBar)