Думаю, мне нужен еще один хороший совет. До сих пор мое решение, казалось, работало хорошо, но сейчас ...
ОК, факты:
- У меня обычный 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];» Причиной этого является утверждение, потому что я могу спровоцировать его, также нажав на строку поиска.
К сожалению, я не могу понять, в чем причина. Должен ли я предоставить другой метод делегата, как два, которые у меня есть сейчас?
Любой указатель приветствуется.