2017-06-16 7 views
0

Wie wird die Tastatur automatisch angezeigt, wenn searchController angezeigt wird? Ich habe versucht, viele Lösungen, aber keiner von ihnen arbeitete für mich ..including becomeFirstResponder() und so ... bitte helfenWie wird die Tastatur automatisch angezeigt, wenn searchController angezeigt wird

+3

Satz als Ersthelfer –

+0

schon hat ... für mich nicht funktioniert ... –

+0

Das gleiche Problem hier. Versuchte alle Lösungen, einschließlich der unten genannten. Funktioniert nicht. Xcode 9, iOS 11. Am Simulator und an Geräten. – guido

Antwort

0

Zuerst bewegen:

present(mapSearchController!, animated: true, completion: nil) 

bis zum Ende, nachdem Sie Einstellungen fertig sind alle Eigenschaften auf mapSearchController.

Dann stellen Sie sicher, dass die delegierte Methode hinzufügen:

func didPresentSearchController(_ searchController: UISearchController) { 
    searchController.searchBar.becomeFirstResponder = true 
} 

Wenn das immer noch nicht funktioniert, stellen Sie sicher, dass dieser VC auf die Suche UISearchControllerDelegate entspricht.

+0

hat nicht funktioniert ... –

+0

Inwiefern hat es nicht funktioniert? Wurde didPresentSearchController ausgelöst? –

+0

IDK ... wie kann ich überprüfen, ob es ausgelöst ... auf meinem Gerät die Tastatur nicht angezeigt wird ... Ich muss auf die Suchleiste drücken, damit es –

0

Sie stellen es zu früh ein. In diesem Moment wurde die viewDidLoad Ihrer MapSearchController Instanz noch nicht ausgelöst. Sie können nur becomeFirstResponder nach viewDidLoad.

Also was Sie tun müssen, ist: Setzen Sie die becomeFirstResponder in viewDidAppear von MapSearchController.

0

Problem ist Search-Controller wird nicht angezeigt, wenn Ansichts-ID geladen, so dass auch nach der Herstellung von findResponseResponder das Problem nicht löst. Der folgende Code behebt das Problem und öffnet die Tastatur mit dem Cursor in der Suchleiste.

override func viewDidAppear(_ animated: Bool) { 
    DispatchQueue.main.async { 
     self.searchController.searchBar.becomeFirstResponder() 
    } 
} 
Verwandte Themen