0

我做了类似的文本字段搜索。

我首先在其中创建文本字段并添加新的 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

4

2 回答 2

0

终于有了我的答案,想和大家分享

- (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;
}
于 2012-07-05T16:26:31.830 回答
0

这条线会产生问题:

[textField resignFirstResponder];

为什么会在那里。如果要显示键盘。此时您不应该调用它。那将关闭或隐藏键盘?

那么你在哪里调用 [textField becomeFirstResponder] ?

您也可以使用这个 UISearchBar,而不是尝试自己编写。

于 2012-07-04T17:37:57.920 回答