0

Я хочу, чтобы стиль placeholder свойства UISearchBar. Поскольку, насколько мне известно, этого не может быть сделано, я изобрел хак, который позволяет мне это сделать: я создаю UITextField за UISearchBar и покажу местозаполнитель UITextField. Когда панель поиска будет изменена, я хочу, чтобы UISearchBar был первым ответчиком, а также удалил текст заполнителя в UITextField.набор UITextField под uisearchbar для заполнителя

Итак, мои конкретные вопросы: Как создать UITextField за UISearchBar, установить текст-заполнитель и заставить его исчезнуть при касании UISearchBar.

+0

Вы можете вникнуть в структуру subview 'UISearchBar' и найти вложенный в нее UITextField. Затем установите свойство 'attributedPlaceholder' текстового поля. Нет необходимости создавать второе текстовое поле. – rmaddy

+0

Если все, что вы хотите сделать, это изменить цвет заполнителя, см. Http://stackoverflow.com/questions/11827585/uisearchbar-change-placeholder-colour – rmaddy

+0

@maddy Я уже сделал это, но, похоже, нет способа для фактического изменения выравнивания текста заполнителя (по умолчанию = по центру) – bdv

ответ

0

Это должно быть возможно довольно легко. Я бы добавил UITextField с тем же фреймом, что и UISearchBar, и, возможно, отрегулировать edgeInset, в зависимости от того, на что вы хотите, чтобы текст вашего заполнителя выглядел. Затем добавьте UITapGestureRecognizer в UITextField, который, регистрируя отвод, скрывает TextField и вызывает метод -becomeFirstResponder.