#ios #ipad #uisearchbar #uipopovercontroller #uisearchdisplaycontroller
#iOS #iPad #панель пользовательского поиска #uipopovercontroller #uisearchdisplaycontroller
Вопрос:
Мое приложение для iPad использует всплывающее окно для выполнения некоторого поиска. Результаты поиска обрабатываются с помощью UISearchDisplayController, и у меня возникли некоторые проблемы с удалением некоторых небольших графических артефактов.
Мое всплывающее окно начинается так:
Когда вы нажимаете внутри строки поиска, всплывающее окно расширяется (анимировано) до:
Пока все хорошо … ввод в поле поиска накладывает новое табличное представление, показывающее результаты вашего поискового запроса.
Но если вы ничего не вводите в поле поиска, наложение остается полупрозрачным, как указано выше. Проблема возникает, когда вы нажимаете кнопку отмены рядом с полем поиска. В нижней части табличного представления появляется визуальный артефакт: область той же высоты, что и одна из ячеек табличного представления, сразу становится полностью чистой, в то время как остальная часть наложения анимируется до 0 alpha. Скриншот ниже максимально приближен к началу анимации, которую я мог получить:
Всплывающее окно также изменяется до исходного размера в моем случае, хотя артефакт остается, даже если изменение размера не выполняется.
Учитывая, что вся важная функциональность поиска обрабатывается UISearchDisplayController, я не уверен, что нужно изменить, чтобы решить эту проблему. Есть идеи?
Ответ №1:
Возможно, это ошибка, о которой стоит сообщить. На самом деле в UIPopoverController на удивление много ошибок. По крайней мере, 3, о которых я знаю отдельно от этого, ни один из которых не планируется исправлять в ближайшее время (я спросил нескольких инженеров на WWDC в этом году). Одна из моих ошибок была на самом деле связана с UISearchDisplayController во всплывающем окне, в частности, с тем, как он обрабатывает кнопки фильтра, если всплывающее окно находится в детальном представлении (оно отображает их наихудшим из возможных способов, в той же строке, что и текстовое представление, и полностью непригодно для использования).
Комментарии:
1. Да, я также столкнулся с проблемой панели видимости, и как бы мне ни хотелось включить ее в свой собственный интерфейс поиска, у меня действительно нет времени на реализацию собственной убедительной замены.
2. Я думаю, что этот вопрос был задан достаточно долго, чтобы я должен был отправить отчет об ошибке, как вы предлагаете — я приму ваш ответ.
3. Извините, я не смог сообщить вам новости получше. Если это поможет, я частично переосмысливаю PopoverController. Вероятно, это будет не так красиво, как в Apple, но у меня уже есть панель поиска и фильтра, работающие корректно (еще не добрался до таблицы результатов и shadowbox). Если вы вернетесь в мой блог, он будет опубликован там по завершении под лицензией MIT.