Если вы хотите, чтобы ваш контроль отвечал точно так, как вы хотите, вы должны, вероятно, создать свой собственный пользовательский элемент управления. Этот контроль может быть разделены на три части:
- фоне
UIImageView
UITextField
UIButton
для иконе поиска, если вы хотите, чтобы пользователь взаимодействовать с ним
Самый простой способ сделать это, вероятно, создать новый класс MySearchBar
с тремя частями в частном интерфейсе:
В вашем MySearchBar
вы можете создать свой компонент, настроить его, добавить более качественный вид &. Чтобы вернуть результат поиска, ваш элемент управления может иметь делегат id<UISearchBarDelegate>
(ваш UIViewController
), который будет в основном имитировать наличие стандартного UISearchBar.
Осталось создать ваш MySearchBar
в контроллере и установить делегат в контроллер вашего вида. Сообщения от UISearchBarDelegate
могут отправиться на ваш MySearchBar
, чтобы отфильтровать или выполнить предварительную обработку перед отправкой на ваш UIViewController
, или перейдите непосредственно к UIViewController
.
Не уверен в выравнивании текста, но вы можете подумать о том, чтобы сделать значок поиска в пользовательский 'UIButton', расположенный поверх строки поиска, который функционирует как кнопка« Ввод ». Я столкнулся с несколькими приложениями, которые это делают, и мне всегда нравилось иметь возможность не использовать поле поиска, открывать клавиатуру и удалять «Поиск» там, если я хочу повторно запустить поиск , – Nerrolken
Я ответил на этот вопрос по другому вопросу. Приятно получать отзывы о том, как его улучшить: http://stackoverflow.com/a/25827025/3746156 – bdv