2016-04-17 14 views
1

Ich habe die Suche mit UISearchController abgeschlossen. Die Suche beginnt nach Eingabe von 3 Zeichen.So löschen Sie angefügte Suchelemente in swift

Wie Sie in der folgenden animierten GIF sehen können, nachdem ich Suche löschen und beginnen, eine andere Suche einzugeben, zeigt das Gerät vorherige Suchergebnisse an. Diese Suchergebnisse bleiben erhalten, bis ich 3 Zeichen eintippe.

Wie kann ich die vorherige Suche nach dem Löschen oder Löschen löschen?

if searchController.searchBar.text?.characters.count > 2 { ... } 

enter image description here

+0

wo haben Sie das Suchergebnis gespeichert? Vielleicht können Sie versuchen, diesen Container zu löschen, wenn #chars kleiner als 3 ist. –

Antwort

0

Sie searchController Delegaten selbst einstellen müssen, kann u mit Interface Builder tun so auch und ignorieren

searchController.searchBar.delegate = self; 

dann Ruftaste Click-Handler abzubrechen und Ihren Tisch aufzuräumen

func searchBarCancelButtonClicked(searchBar: UISearchBar) { 

    // Clear any search criteria 
    searchBar.text = "" 

    // Dismiss the keyboard 
    searchBar.resignFirstResponder() 

    // Reload of table data 
    //->> your search result table 
    self.searchResultTable.reloadData() 
} 
+0

Ich habe diese Lösung versucht, aber nicht funktioniert – OzzY

+0

Wo speichern Sie Ihre Suchergebnisse? Welches Array? Sie müssen wie myArray.removeAllObjects() tun, bevor Sie Ihre Suchergebnis-Tabelle neu laden. – Mortgy

+0

Das Problem hängt nicht mit der Abbrechen-Schaltfläche zusammen. Einen Suchbegriff zu löschen und einen anderen einzugeben, ist der tatsächliche Fall. – OzzY