How do I set the UISearchController's searchBar to a view that isn't the tableHeaderView or navigationItem.titleview?
If you have a blank UIView that is placed above the tableview.
let's assume you have an outlet to that blank UIView called searchContainer
.
Then you can add the search bar of the UISearchController
to that view by adding the following line
searchContainer.addSubview(searchController.searchBar)
Carlos
HFT Finance, low latency, Equity/FX/Futures, Market Making. Feed handlers, strategy code. Highly scalable real-time web arch for exchanges. C++, Rust, Python/Django/numpy/scikit, Java/Scala/Android/Kotlin, ObjC/Swift, etc. Management, dozens of reports. Side projects in mobile, games. Currently crypto HFT.
Updated on June 20, 2022Comments
-
Carlos almost 2 years
I'm trying to keep the search bar in view as the table scrolls. At the moment I'm placing it as the header in a tableview, and it works as it should, but of course the search bar scrolls off screen as you go down the table. I thought I could do this simply modifying this code sample:
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
The idea was to take some other view and do
otherview = searchController.searchBar
For instance an outlet to a UISearchBar, or a blank UIView, or something like that.
But it doesn't show the searchBar if I do that. It seems to only work as the header view of a table or as a navigationItem.titleView.
Am I missing something?
-
gadget00 about 8 yearsit worked great for me to add the searchBar in the view controller, but the searchResultsController doesn't trigger each time I try to edit, just the first time. But if I use a barButtonItem to launch the searchBar, the searchResultsController and the actual search triggers every time. Am I missing something here?
-
Leandro Fournier almost 7 yearsOccasionally you should setup your
viewDidLoad
method withdefinesPresentationContext = true
andextendedLayoutIncludesOpaqueBars = true
to prevent some layout misbehavior. -
coolcool1994 over 6 yearsIs there a way to set the height and width of the searchController.searchBar before/after adding as subview?