Кнопка сокрытия анимации UISearchBar

У меня в настоящее время есть UISearchBar (присоединенный к UISearchDisplayController), но я уменьшил ширину панели поиска, таким образом, я мог отобразить пользовательскую кнопку с ее правой стороны от него, когда панель поиска не выбрана. Кнопка используется для доступа к другим представлениям.

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

Там какой-либо путь состоит в том, чтобы препятствовать тому, чтобы панель поиска анимировала к общей ширине экрана?

Это - то, как я определил CGRect панели поиска:

self = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 250.0f, 45.0f)]
6
задан Cœur 1 January 2017 в 06:32
поделиться

2 ответа

Это сообщение SO может помочь. Похоже, вам нужно создать подкласс UISearchBar, чтобы он не рисовал как обычно.

ОБНОВЛЕНИЕ Я хотел использовать UISearchBar в UINavigationBar и изменить его размер, чтобы он заполнял панель при прикосновении - точно так же, как в приложении Safari. Единственный способ сделать это - напрямую использовать UISearchBar. Ваша проблема немного отличается, но вы можете попробовать получить желаемое поведение пользовательского интерфейса, используя для начала только панель поиска; затем подключите логику для последующего поиска; т.е. не полагаться на UISearchDisplayController?

1
ответ дан 17 December 2019 в 07:00
поделиться

В конце концов, ответ на этот вопрос оказался проще, чем я думал. По какой-то причине iPhone SDK заполняет ширину рамки строки поиска, поэтому мне приходится постоянно возвращать ее к нужному размеру каждый раз, когда пользователь нажимает кнопку отмены и срабатывает событие searchBarCancelButtonClicked(). Простой [searchBar setFrame: frame] решил эту проблему. :)

Питер, проблема в сообщении, на которое вы дали ссылку, была немного другой, я уже смог изменить размер строки поиска до нужного мне размера, мне нужно было остановить ее возвращение к полной ширине. Тем не менее, спасибо за ссылку.

3
ответ дан 17 December 2019 в 07:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: