Ich habe eine UITableView, die völlig in Ordnung funktioniert. Es ist in einem UITabbarController verschachtelt.Wie komme ich zurück zu UITableView von SearchResultDetailView
Ich habe auch einen UISearchController mit einer UISearchBar integriert, mit der der Benutzer den Inhalt von UITableView durchsuchen kann. Das funktioniert auch gut.
Wenn Sie eine der TableViewCells auswählen, gelangen Sie zu einer Detailansicht.
Wenn Sie dies ohne aktive Suche tun, funktioniert alles gut, aber wenn Sie einen Suchbegriff eingeben und Sie eine Zelle aus den Ergebnissen auswählen, gibt es keine Möglichkeit, zurück zum TableView zu gelangen, da oben keine Schaltfläche zurück ist linke Ecke, noch können Sie die Wischgeste verwenden.
Ich muss hinzufügen, dass ich für die Suchergebnis keine separate UITableView angeben:
self.searchController.searchBar.delegate = self
self.searchController.searchResultsUpdater = self
self.tableView.tableHeaderView = self.searchController.searchBar
self.definesPresentationContext = true
ich die SearchController wie folgt definieren:
var searchController: UISearchController = {
let controller = UISearchController(searchResultsController: nil)
controller.dimsBackgroundDuringPresentation = false
controller.searchBar.sizeToFit()
return controller
}()
dachte ich, dass vielleicht ich habe einen UINavigationController in den UITabbarController zu legen und meine TableView als RootViewController zu setzen, aber dann hatte ich das Problem, dass die SearchBar hinter der Navigationsleiste versteckt war ...
EDIT (@ryantxr): meine DidSelectRowAtIndexPath:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}
in cellForRowAtIndexPath
es keinen Unterschied zwischen Suche und keine Suche wie die Zellen gleich aussehen. Dies ist auch der Grund, warum ich noch nicht zwei verschiedene Segmente verwende.
Aber Sie haben Recht, ich benutze nicht verschiedene Übergänge bei der Suche und keine Suche. Der einzige Übergang, der verwendet wird, wenn eine Zelle angeklickt wird, ist im Storyboard eingestellt und in prepareForSegue
setze ich die Attribute des Ziel-UIViewControllers, was auch gut funktioniert.
Kann ich Ihre Tabellenansicht Funktionen, didSelectRowAtIndexPath, cellForRowAtIndexPath usw. sehen Sind die Übergänge auf den Detailbildschirm von separaten Segmenten behandelt, wenn es Suche vs nicht-Suche ist? – ryantxr
Um zu verdeutlichen, wenn Sie in den Nicht-Such-Modus zum Detailbildschirm wechseln, erhalten Sie eine Zurück-Schaltfläche, aber wenn Sie vom Suchmodus übergehen, erhalten Sie keine Zurück-Schaltfläche. Ist das richtig? – ryantxr
Ja, das ist richtig – Heckscheibe