0

Ich verwende UISearchController (nicht UISearchDisplayController), ich wollte eine separate Ansicht anzeigen, wenn die Suche aktiv ist. Ich möchte die aktuelle Ansicht nicht verwenden.So zeigen Sie verschiedene searchResultsController in UISearchController an

Versucht mit self.searchController = UISearchController(searchResultsController: self.resultsController). Aber das zeigt nichts.

Auch diese Daten

func presentSearchController(_ searchController: UISearchController) { 
    DispatchQueue.main.async { 
     searchController.searchResultsController?.view.isHidden = false 
    } 
} 

func didPresentSearchController(_ searchController: UISearchController) { 
    searchController.searchResultsController?.view.isHidden = false 
} 

Meiner Standardtabelle versucht, bevor Suche nach unten aktiv ist, ich diese Tabelle des eingegebenen Schlüsselwort auf die neue Ansicht verstecken und zeigt separate Ansicht will und übergeben. Wie kann ich das erreichen?

enter image description here

Antwort

1

Da es zu Viewcontroller keine direkte Segue ist, müssen wir die Viewcontroller ausdrücklich verweisen wir verwenden wollten.

Ich habe den folgenden Code verwendet und es lädt meinen neuen Controller, wenn meine searchBar aktiv ist.

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    self.resultsController = storyboard.instantiateViewController(withIdentifier: "searchResults") as! SearchResultsTableViewController 
    self.searchController = UISearchController(searchResultsController: self.resultsController) 

Lassen Sie mich wissen, ob ein besserer Ansatz verfügbar ist.

Verwandte Themen