我想在大多数时间隐藏UISearchBar,并且只在用户需要时调用它。
我在界面生成器中放置了一个UISearchBar并将其隐藏在视图后面,当用户单击一个按钮时,它会调用以下代码,我希望它会将搜索栏带到前面并滑动键盘进行查看。但它没有......
- (IBAction)search:(id)sender
{
[mySearchBar performSelector:@selector(searchBarTextDidBeginEditing:)];
}
任何人都知道如何通过代码激活UISearchBar?
感谢。
感谢您的回复。我发布完整的代码以防有人感兴趣
- (IBAction)search:(id)sender
{
mySearchBar.hidden = NO;
[mySearchBar becomeFirstResponder];
}
#pragma mark UISearchBarDelegate delegate methods
// called when keyboard search button pressed
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
mySearchBar.hidden = YES;
[mySearchBar resignFirstResponder];
// Do something with the mySearchBar.text
}
// called when cancel button pressed
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
mySearchBar.hidden = YES;
[mySearchBar resignFirstResponder];
}
答案 0 :(得分:4)
如果你想弹出键盘,你需要调用[mySearchBar becomeFirstResponder]
答案 1 :(得分:2)
我将搜索栏放在视图顶部并将其隐藏起来。那你只需要:
mySearchBar.hidden = NO;
显示它。根据您正在做的事情,您可能还需要调整基础视图的大小(否则将裁剪其顶部)。它仍然没有“滑动”进入视野。在适当添加搜索栏的情况下使用全新视图可能更容易。