I have a UITableViewController inside a navigation controller, with a search bar. This is how I add the search bar in viewDidLoad:
let resultsController = SearchTableViewController()
resultsController.people = people
searchController = UISearchController(searchResultsController: resultsController)
let searchBar = searchController.searchBar
searchBar.placeholder = "Search a person"
searchBar.sizeToFit()
tableView.tableHeaderView = searchBar
searchController.searchResultsUpdater = resultsController
This is the result:
I tried editing the table view in the storyboard to add a constraint to make it further from the top view's margins, but I can't add contraints, probably because the table view is inside a UITableViewController.
I think you need this code.
In your
viewDidLoad
method add this code:And your tableview will be something like this:
EDIT:
You can forcely scroll table with this code: