我做了像文本字段搜索。
我首先创建文本字段并添加新的UISearchViewController
现在我已经设置了
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[textField resignFirstResponder];
self.searchDisplayController.searchBar.hidden = FALSE;
[self.searchDisplayController.searchBar becomeFirstResponder];
[self.searchDisplayController setActive:YES animated:NO];
}
但我只看到搜索显示控制器和带键盘的黑色背景
当我直接在搜索栏中按下它时会显示键盘
我应该从上面的方法
为UISearchBarController中的show键做什么编辑
请从此处http://sourceforge.net/projects/locationdemo/files/LocationDemo.zip/download
下载我的代码答案 0 :(得分:0)
这一行会产生问题:
[textField resignFirstResponder];
它在那里。如果要显示键盘。你现在不应该这样称呼它。那会解雇或隐藏键盘吗?
你在哪里调用[textField becomeFirstResponder]?
您也可以使用此UISearchBar,而不是尝试编写自己的。
答案 1 :(得分: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;
}