2015-03-22 2 views
12

Возможно ли разместить UISearchBar UISearchController где-нибудь, кроме заголовка UITableView?Исправлено UISearchBar с использованием UISearchController - Не использовать заголовок в UITableView

В apple's sample code for UISearchController, следующий используется.

[self.searchController.searchBar sizeToFit]; 
self.tableView.tableHeaderView = self.searchController.searchBar; 

Возможно ли найти позицию в другом месте? Предположим, что мы хотим реализовать фиксированный UISearchBar, такой как тот, который используется в приложении контактов. Я пробовал это, но searchBar вообще не появляется.

ответ

15

Вы можете разместить UISearchBar из UISearchController в навигационной панели, так что он остается неподвижным

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; 
9

Создать один UIView и добавил searchController.searchbar внутри этой точки зрения. После этого добавьте это представление в свой viewController.view. над табличным представлением.

тогда он не будет прокручиваться.

var viewTemp = UIView(frame: CGRectMake(0.0, 64.0,320.0, 44)) 
    viewTemp.addSubview(self.searchController.searchBar) 
    self.view.addSubview(viewTemp); 
+0

Это похоже на решение, когда вы не хотите, чтобы UISearchBar отображал заголовок UITableView. Благодаря! – AndrewR

+0

@AndrewR В этом случае. просто сделайте tableView.tableHeaderView = searchController.searchBar –

+0

Это работает, за исключением того, что он беспорядочно прокручивает индекс раздела :( – MobileMon

Смежные вопросы