Ich habe einen UISearchController in einem Tabellenansicht-Controller erstellt. Ich übergehe diesen Tabellenansicht-Controller mit einem Push-Übergang von einem anderen View-Controller. Ich möchte, dass die Tastatur mit dem Cursor in der Suchleiste angezeigt wird, sobald der Tabellenansicht-Controller gedrückt wird.Tastatur automatisch anzeigen, wenn UISearchController geladen wird
machte ich die Suchsteuerung aktiv in der viewDidLoad Methode
self.mySearchController.active = true
Es macht die Suchsteuerung aktiv, aber dies nicht bringt die Tastatur noch ist der Cursor in der Suchleiste platziert werden. Ich versuchte auch
self.mySearchController.searchBar.becomeFirstResponder()
Diese Linie scheint keine Wirkung zu haben.
Wie rufe ich die Tastatur automatisch/programmgesteuert auf? Im Folgenden finden Sie eine ausführlichere Version von meinem Code
class PickAddressViewController: UITableViewController, UISearchResultsUpdating {
var searchText = ""
var mySearchController = UISearchController()
override func viewDidLoad() {
super.viewDidLoad()
self.mySearchController = ({
let controller = UISearchController(searchResultsController: nil)
controller.searchResultsUpdater = self
controller.dimsBackgroundDuringPresentation = false
controller.searchBar.sizeToFit()
controller.searchBar.text = self.searchText
self.tableView.tableHeaderView = controller.searchBar
return controller
})()
self.mySearchController.active = true
self.mySearchController.searchBar.becomeFirstResponder()
}
Great! Ich habe versucht, die Lösung in diesem Link und es funktioniert! Für andere Neulinge wie mich, zusätzlich zu dem Code, den ich in meiner Frage geschrieben habe, müssen Sie Folgendes tun: Machen Sie den View-Controller zu einem UISearchControllerDelegate. Schreiben Sie beim Definieren des Suchcontrollers eine Zeile mit der Bezeichnung controller.delegate = self. Setzen Sie die Zeile 'anotherFressponder' in die Delegate-Funktion 'didPresentSearchController' – RookiePro