У меня есть стандартная настройка UITableView + UISearchDisplayController + UITableViewIndex. Все работает как чемпион.
Кроме того, при очень специфических условиях индекс растет слишком долго, чтобы отображать на экране. В частности, после завершения поиска и повторной отображения нефильтрованной индексированной таблицы индекс иногда растет слишком долго.
В частности, это не происходит, если я выполняю поиск и отменю. Это происходит только в том случае, если я выполняю поиск, затем нажимаю контроллер просмотра из таблицы поиска, затем возвращаю этот контроллер представления в таблицу поиска, затем отменяю поиск, затем пересматривает, а затем отменяю окончательный поиск. После окончания окончательного поиска индекс слишком длинный.
В портрете вид таблицы сообщает высоту 416, а индекс - 404 при нормальных условиях. Если я регистрируюсь из searchDisplayControllerDidEndSearch
, когда индекс имеет неправильный размер, он сообщает о высоте 620.
Я пробовал все: от setLayout
в таблице и индекс, чтобы вручную изменить размер фрейма. Ничего не работает (ручная настройка размера приводит к тому, что правильная высота регистрируется, но она не меняет отображение на экране).
Я собирался повторить калибровку после задержки в случае вмешательства анимации отмены, но затем я понял, в какой абсурдной ситуации я вхожу, и думал, что поиск помощи может быть мудрым...