2014-10-10 18 views
6

Ich habe Probleme mit der Verwendung des neuen UISearchController in IOS8. Jedes Beispiel, das ich bisher gefunden habe, verwendet die Suchleiste als Header-Ansicht eines UITableView. Was machen Sie, wenn die Suchleiste irgendwo anders angezeigt werden muss? Zum Beispiel, platzieren Sie die Suchleiste außerhalb der Tabelle, um zu verhindern, dass sie scrollt? Wie wäre es mit etwas wie einem UICollectionView?Hinzufügen eines UISearchControllers zu einer Nicht-Tabellenansicht

Fehle ich hier etwas? Es scheint nicht so kompliziert zu sein.

Antwort

3

Platzieren Sie die UISearchBar in der titleView der Navigationsleiste, können Sie verhindern, dass es scrollt, wenn die Tabellenansicht gescrollt wird.

self.searchController.hidesNavigationBarDuringPresentation = NO; 
self.searchController.searchBar.searchBarStyle = UISearchBarStyleMinimal; 

// Include the search bar within the navigation bar. 
self.navigationItem.titleView = self.searchController.searchBar; 

self.definesPresentationContext = YES; 

UISearchController beruht auf searchResultsController, die der View-Controller, der die Ergebnisse der Suche verwaltet werden sollte. Stellen Sie sicher, dass der Ansichtscontroller auf searchResultsController Eigenschaftenupdates basierend auf dem Text in UISearchBar zeigt, wenn die UISearchController aktiv ist. Auf diese Weise können Sie den UISearchController mit tableview oder collectionview verwenden.

Verwandte Themen