У меня есть UITableView, связанный с UISearchController.
Соединение выполняется путем размещения панели поиска в качестве заголовка табличного представления следующим образом:
tableView.tableHeaderView = searchController.searchBar
Я делаю связь между индексной полосой сбоку и заголовком разделов следующим образом:
func tableView(tableView: UITableView, sectionForSectionIndexTitle title: String, atIndex index: Int) -> Int {
if searchPredicate != nil {
for (index, section) in enumerate(filteredSections) {
if section.name == title {
return index
}
}
return 0
} else {
return self.fetchedResultsController.sectionForSectionIndexTitle(title, atIndex: index)
}
}
Это прекрасно работает.
Когда панель поиска активна, она остается видимой все время при прокрутке (что является предполагаемым поведением).
Моя проблема заключается в том, что я нажимаю на одну из индексных букв на индексной панели сбоку. Он прокручивается до заголовка раздела, но поскольку панель поиска всегда видна, когда она активна, мы не можем видеть заголовок раздела и часть первой строки раздела, нам приходится прокручивать вручную.
Как и на этом снимке, я нажал на индексную букву L
:
Есть ли способ исправить это (любой хак принят)?