Скрыть клавиатуру iphone sdk?

У меня есть UISearchBar. Я хочу, чтобы клавиатура исчезла, как только пользователь нажмет на поиск... я пробовал resignFirstResponder, но это не сработало. любая помощь будет оценена

- (void)viewDidLoad {
    [super viewDidLoad];

    self.title = NSLocalizedString(@"Songs", @"Search for songs");


    NSMutableArray *array = [[NSArray alloc]initWithObjects: @"Book_1", @"Book 2", @"Book _ 4", nil];
    self.booksArray = array;
    [array release];
    search.delegate=self;
    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;
}

спасибо ТС


person Tushar Chutani    schedule 14.04.2011    source источник


Ответы (2)


Пожалуйста, убедитесь в следующем. (Надеюсь, вы говорите о кнопке поиска на клавиатуре.)

  1. Вы связали свой IBOutlet searchBar с его переменной search.
  2. Вы не отменяете ссылку на переменную поиска где-либо в своем коде (переназначая ее).
  3. Ваш метод - (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar находится в том же viewcontroller, что и searchBar.
  4. Пожалуйста, NSLog(@"Instace панели поиска: %@",search); в методе viewDidLoad и searchBarSearchButtonClicked и убедитесь, что оба экземпляра одинаковы, если нет, то вы search переназначаетесь где-то в коде.
  5. Сразу после [searchBar resignFirstResponder]; NSLog(@"isFirstResponder : %d",[панель поиска isFirstResponder]); и NSLog(@"Next Responder : %@",[searchBar nextResponder]);
  6. Вызывается ли метод - (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar при нажатии кнопки поиска на клавиатуре? Убедитесь, что клавиатура responder (например, textField, textView или другая searchBar) не добавлена ​​за searchBar, что может быть непреднамеренно. Пожалуйста, проверьте это также через xib.

Спасибо,

person Ravin    schedule 15.04.2011
comment
Мне немного неловко это говорить, но по какой-то причине это не работает. Я перепробовал все, что мог... Я убедился, что нигде не отключил поиск, а также убедился, что searchBar является первым ответчиком, выбрав [поиск естьПервый Ответчик]; - person Tushar Chutani; 15.04.2011

Он должен работать, реализуя методы ответа в объекте делегата:

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

Ссылка: http://www.iphonedevsdk.com/forum/iphone-sdk-development/7148-problem-uisearchbar-navigation-controller.html#post59467

person Erik Hedberg    schedule 14.04.2011