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 3.
override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) self.perform(#selector(self.showKeyboard), with: nil, afterDelay: 0.1) } func showKeyboard() { self.searchController.searchBar.becomeFirstResponder() }