Подтвердить что ты не робот

UISearchBar не отменяет клавиатуру при нажатии клавиши ввода

UISearchBar не отбрасывает клавиатуру при нажатии кнопки или пользователь прикасается где-то еще.

Мне нужно использовать кнопку удаления клавиатуры в правом нижнем углу клавиатуры iOS, чтобы удалить клавиатуру и вызвать:

- (void)searchBarTextDidEndEditing:(UISearchBar *)aSearchBar

Как я могу это исправить?

4b9b3361

Ответ 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()
    }