Думаю, мне нужен еще один хороший совет. До сих пор мое решение, казалось, работало хорошо, но теперь ...
Хорошо, факты:
- У меня обычный UIViewController
- Сверху UINavigationBar, за ним UISearchBar, изначально скрытый
- Внизу UIToolBar
- Мой главный контроллер представления поддерживает UISearchBarDelegate
Переключатель на UIToolBar переключает видимость UISearchBar
if (show) {
[searchBar setShowsCancelButton:TRUE animated:TRUE];
[navigationBar setHidden:TRUE];
[searchBar becomeFirstResponder];
}
else {
[navigationBar setHidden:FALSE];
[searchBar setShowsCancelButton:FALSE animated:TRUE];
}
searchIsVisible = !searchIsVisible;
Вокруг есть какая-то анимация, но я, например, отбросил это. Он работает хорошо, я могу ввести строку поиска и получить к ней доступ с помощью searchBarSearchButtonClicked:. Я также могу реагировать на "searchBarCancelButtonClicked:"
Я либо не замечал этого раньше, либо это происходит прямо сейчас - я иногда ловлю EXC BAD ACCESS без дополнительного уведомления. Я почти уверен, что «[searchBar статьFirstResponder];» Заявление является причиной этого, потому что я тоже могу спровоцировать его нажатием на строку поиска.
К сожалению, я не могу понять, в чем причина. Должен ли я предоставить еще один метод делегата, как два, которые у меня есть прямо сейчас?
Любой указатель приветствуется.