I have a searchBar I\'m setting in a tableviewcontroller. i\'ve referenced this similar question UISearchBar cannot become first responder after UITableView did re-appear bu
This is what it worked for me in Swift 4
override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) searchController.isActive = true DispatchQueue.main.async{ self.searchController.searchBar.becomeFirstResponder() } }