UISearchDisplayController внутри popover - плохая анимация при отмене поиска - PullRequest
3 голосов
/ 15 мая 2011

Приложение для iPad использует всплывающее окно для выполнения поиска.Результаты поиска обрабатываются с помощью UISearchDisplayController, и у меня возникают некоторые проблемы при удалении некоторых небольших графических артефактов.

Мой поповер начинает выглядеть так:

UISearchBar inside popover

Когда вы щелкаете внутри панели поиска, всплывающее окно расширяется (анимируется) до: UISearchBar & expanded table view

Пока все хорошо ... набор в поле поиска перекрывает новый вид таблицы, показывающий результаты вашего поискового запроса.

Но если вы ничего не вводите в поле поиска, наложение остается прозрачным, как указано выше.Проблема возникает тогда, когда вы нажимаете кнопку отмены рядом с полем поиска.Визуальный артефакт появляется в нижней части табличного представления: область, такая же высота, что и одна из ячеек табличного представления, сразу полностью очищается, а остальная часть наложения анимируется до 0 альфа.Снимок экрана ниже максимально приближен к началу анимации:

Disabling search field

В моем случае всплывающее окно также изменяет размер до исходного размера, хотя артефакт остается, даже если естьизменение размера не выполняется.

Учитывая, что все важные функции поиска обрабатываются UISearchDisplayController, я не уверен, что нужно изменить, чтобы решить эту проблему.Есть идеи?

1 Ответ

0 голосов
/ 26 июня 2011

Это может быть ошибка , о которой стоит сообщить . На самом деле в UIPopoverController есть удивительное количество ошибок. По крайней мере, 3, которые я знаю, отдельно от этого, ни один из которых не планируется исправить в ближайшее время (я попросил несколько инженеров на WWDC в этом году). Одна из моих ошибок была связана с UISearchDisplayController во всплывающем окне, в частности с тем, как он обрабатывает кнопки фильтра, если Popover находится в подробном представлении (он отображает их наихудшим из возможных способов, на той же строке, что и текстовое представление, и совершенно непригоден для использования). .

...