UISearchBarDisplayController не показывает мне клавиатуру
Я сделал как поиск по текстовому полю.
В котором я сначала создаю текстовое поле, а также добавляю новый UISearchViewController
Теперь я установил
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[textField resignFirstResponder];
self.searchDisplayController.searchBar.hidden = FALSE;
[self.searchDisplayController.searchBar becomeFirstResponder];
[self.searchDisplayController setActive:YES animated:NO];
}
но я видел только контроллер дисплея поиска и черный фон без клавиатуры
когда я непосредственно нажал в строке поиска, это показывает клавиатуру
что я должен сделать для отображения клавиатуры в UISearchBarController сверху метод
РЕДАКТИРОВАТЬ
Пожалуйста, скачайте мой код здесь http://sourceforge.net/projects/locationdemo/files/LocationDemo.zip/download
2 ответа
Наконец-то у меня есть ответ, которым я хочу поделиться с каждым
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[textField resignFirstResponder];
NSTimer *theTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(keyboardWasShown:) userInfo:nil repeats:NO];
}
- (void)keyboardWasShown:(NSNotification *)notification
{
[self.searchDisplayController.searchBar becomeFirstResponder];
self.searchDisplayController.searchBar.hidden = FALSE;
CGSize keyboardSize = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
CGRect aRect = self.view.frame;
aRect.size.height -= keyboardSize.height;
}
Эта линия создаст проблемы:
[textField resignFirstResponder];
ПОЧЕМУ это там? Если вы хотите показать клавиатуру. Вы не должны называть это в этот момент. Что будет Уволить или Спрятать клавиатуру?
Ну, где вы называете [textField становиться FirstResponder]?
Вы также можете использовать этот UISearchBar вместо того, чтобы пытаться написать свой собственный.