Панель поиска UISearchController перекрывает первую ячейку таблицы
Я использую UISearchController
, а UISearchBar
также имеет панель видимости. Панель поиска добавляется как поднаблюжение к UIView
, которое находится выше UItableView
. Я сделал это так, так как я хочу, чтобы панель поиска всегда отображалась даже при прокрутке таблицы.
Проблема заключается в том, что область видимости перекрывает первую ячейку таблицы
StoryBoard
![enter image description here]()
Область видимости, перекрывающая ячейку tableview
![enter image description here]()
Как я могу предотвратить это перекрытие?, я не могу отобразить панель поиска в панели навигации, так как область видимости при размещении в навигационной панели не отображается.
Ответы
Ответ 1
Это сработало для меня:
Наличие контроллера отображения поиска и SearchBar в заголовке таблицы. Добавьте heightForHeaderInSection
в свой TableViewController.
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 44; //I used the 44, the height of SearchBar
}
В вашем случае вам также нужно будет добавить высоту панели.
Теперь он всегда будет поддерживать базовую высоту.
Ответ 2
Это сработало для меня:
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
if (self.searchController.active) {
return 44; // with scope
} else {
return 0; // no scope
}
}
Ответ 3
Добавьте панель поиска и представление таблицы в UIViewController, как показано на рисунке ниже. Не перекрывайте панель поиска табличным представлением. Я использую это в своем приложении и отлично работаю для меня.
![enter image description here]()