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

Как отклонить клавиатуру с помощью методов делегата UIsearchBar? Я пробовал каждый метод, но не использовал.

Привет, я использую UIsearchBar в своем приложении, я пробовал все методы в UISearchBar Delegate, чтобы убрать клавиатуру, но не использовать. может кто-нибудь помочь мне.

некоторые коды, которые я пробовал

1.

-(void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
    [searchBar resignFirstResponder];
}

2.

-(BOOL) searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {

    if([text isEqualToString:@"\n"])
    {
        [searchBar resignFirstResponder];
        return NO;
    }
    return YES;

}

3.

- (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar
{
     [searchBar resignFirstResponder];
}
4b9b3361

Ответ 1

Прежде всего, вы должны реализовать UISearchBarDelegate в своем классе и проверить, подключили ли вы к вашему UISearchBar или нет?

Если вы добавляете UISearchBar через IB, вам следует выбрать свойство делегирования UISearchBar владельцу файла. Убедитесь, что вы правильно подключили IBOutlet для UISearchBar в коде.

Если вы добавляете UISearchBar через код, то вы должны установить делегат самостоятельно в коде, подобном этому searchBar.delegate=self;

Следующий шаг - убедиться, что вызываются методы делегата, что очевидно, если вы правильно подключили делегат, лучше всего проверять вещи - это поставить указатель перелома в ваш код или распечатать с помощью NSLog.

Наконец, используйте этот метод, чтобы скрыть клавиатуру, если вы хотите скрыть, когда пользователь нажимает на поиск

- (void) searchBarSearchButtonClicked:(UISearchBar *)searchBar {
    [searchBar resignFirstResponder];
}

ИЛИ вы могли бы попробовать, когда закончите редактирование

- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar {
    [searchBar resignFirstResponder];
}

Ответ 2

Попробуйте сделать это It'l work

предоставить делегату строку поиска и проверить, что IBOutlet подключен или нет

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
    [search resignFirstResponder];
}