Ich habe ein Textfeld, das eine Tabellenansicht als Eingabeansicht darstellt. Ich möchte 2 Dinge zu dieser Tabellenansicht hinzufügen.Hinzufügen von Suchleiste programmgesteuert zu Tabellenansicht in Swift
1) eine Suchleiste hinzufügen.
2) fügen Sie die Schaltfläche "Abbrechen" oben in der Tabellenansicht hinzu.
class enterYourDealVC: UIViewController, UITableViewDataSource, UITableViewDelegate, UISearchBarDelegate, UISearchDisplayDelegate, UISearchResultsUpdating {
var tableView: UITableView = UITableView()
let searchController = UISearchController(searchResultsController: nil)
var dealAirports = [
airPorts(name: "Airport1", shortcut: "AP1")!),
airPorts(name: "Airport2", shortcut: "AP2")!)
]
var filteredAirports = [airPorts]()
//view did load
tableView = UITableView(frame: UIScreen.mainScreen().bounds, style: UITableViewStyle.Plain)
tableView.delegate = self
tableView.dataSource = self
tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
tableView.tableHeaderView = searchController.searchBar
toTextField.inputView = self.tableView
//here is my search function
func filterContentForSearchText(searchText: String, scope: String = "All") {
filteredAirports = dealAirports.filter { ap in
return ap.name.lowercaseString.containsString(searchText.lowercaseString)
}
tableView.reloadData()
}
}
Das Problem ist mit diesem Code, es sucht nicht. Auch wenn ich auf die Suchleiste klicke, wird die Tabellenansicht geschlossen und ich kehrt zum Viewcontroller zurück. Wie kann ich das beheben?
und wie kann ich Abbrechen Schaltfläche zu dieser Tabellenansicht hinzufügen?
UISearchController Apple-Beispielcode: [Apple-Beispielcode] (https://developer.apple.com/libr ary/ios/samplecode/TableSearch_UISearchController/Einführung/Intro.html) Dies wird Ihnen helfen, zu implementieren. – Chandan
Es könnte mir helfen, wenn ich objektive c wüsste .. Es sieht sehr kompliziert für mich aus. Ich werde den Code weiter untersuchen. –