2017-02-13 2 views
0

Wie würde ich programmatisch eine Suchleiste in einen uitableview-Header einfügen? Genauer gesagt, ich habe ein Bar-Button-Element, das, wenn es gedrückt wird, möchte ich in einer Suchleiste in die Tabellenansicht Kopfzeile animieren und wenn die Abbrechen-Taste gedrückt wird animiert es wieder aus der Ansicht und die Kopfzeile skaliert wieder normal. Wäre das möglich? Vielen Dank.Wie programmgesteuert eine Suchleiste zu einem UITableView-Header hinzufügen?

Antwort

2

Es basiert auf Swift 2 aber es ist nicht sehr diff swift 3

Suche Delegaten hinzufügen Controller anzuzeigen:

UISearchResultsUpdating 

eine Suche:

let searchController = UISearchController(searchResultsController: nil) 

dieses Set Standardwerte für searchController:

searchController.searchResultsUpdater = self 
searchController.dimsBackgroundDuringPresentation = false 
definesPresentationContext = true 

Add Suche nach Tabelle:

table.tableHeaderView = searchController.searchBar 

Dieser Delegat können Sie beginnen wissen Suche:

func updateSearchResultsForSearchController(searchController: UISearchController) { 
    filterContentForSearchText(searchController.searchBar.text!) 
} 

Ihre Suchfunktion impliment:

func filterContentForSearchText(searchText: String, scope: String = "All") { 
    // do some stuff 
} 
Verwandte Themen