Добавление UISearchController в нетабличное представление

У меня возникли проблемы с использованием нового UISearchController в IOS8. Каждый пример, который я нашел до сих пор, использует панель поиска в качестве заголовка UITableView. Что вы делаете, когда панель поиска нужно отобразить в другом месте? Например, разместить панель поиска за пределами таблицы, чтобы она не прокручивалась? Как насчет использования его с чем-то вроде UICollectionView?

Я что-то упустил здесь? Не похоже, что это должно быть так сложно.


person pbuchheit    schedule 10.10.2014    source источник


Ответы (1)


Поместив UISearchBar в titleView на панели навигации, вы можете предотвратить его прокрутку при прокрутке таблицы.

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 опирается на searchResultsController, который должен быть контроллером представления, управляющим результатами поиска. Убедитесь, что контроллер представления, на который указывает свойство searchResultsController, обновляется на основе текста в UISearchBar, когда UISearchController активно. Таким образом, вы можете использовать UISearchController с представлением таблиц или коллекций.

person Praveen Gowda I V    schedule 25.03.2015