UISearchBar не отменяет клавиатуру при нажатии клавиши ввода
UISearchBar
не отбрасывает клавиатуру при нажатии кнопки или пользователь прикасается где-то еще.
Мне нужно использовать кнопку удаления клавиатуры в правом нижнем углу клавиатуры iOS, чтобы удалить клавиатуру и вызвать:
- (void)searchBarTextDidEndEditing:(UISearchBar *)aSearchBar
Как я могу это исправить?
Ответы
Ответ 1
- (void)searchBarTextDidEndEditing:(UISearchBar *)aSearchBar {
[aSearchBar resignFirstResponder];
}
Также вам нужно установить делегат для UISearchBar: UISearchBarDelegate
Он должен работать.
Вот пример кода http://developer.apple.com/library/ios/#samplecode/ToolbarSearch/Listings/ToolbarSearch_APLToolbarSearchViewController_m.html#//apple_ref/doc/uid/DTS40009461-ToolbarSearch_APLToolbarSearchViewController_m-DontLinkElementID_9
Другим вариантом является searchBarSearchButtonClicked, который мы можем использовать.
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
// You can write search code Here
}
Ответ 2
Добавить UISearchBarDelegate в .h
Также установить делегат объекта SearchBar в self.
вам следует добавить метод UISearchBarDelegate
:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
// Do the search...
}
РЕДАКТИРОВАТЬ: Выше не работает, добавьте следующее:
[self.view endEditing:YES];
Ответ 3
Используйте следующий фрагмент кода, чтобы закрыть/скрыть клавиатуру, когда нажата кнопка возврата.
- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if([text isEqualToString:@"\n"])
{
[searchBar resignFirstResponder];
return NO;
}
return YES;
}
Ответ 4
для быстрой клавиатуры 1.2 скроется, когда вы нажмете "Готово", и есть еще одна функция для отмены, но использовать ее не так, как если бы пользователь нажал кнопку "Отменить", он может захотеть найти другое слово...
func searchBarSearchButtonClicked(searchBar: UISearchBar) {
searchBar.resignFirstResponder()
}
Ответ 5
он будет работать -
Цель c -
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
[searchBar resignFirstResponder];
}
Swift -
func searchBarSearchButtonClicked(searchBar: UISearchBar) {
searchBar.resignFirstResponder()
}