滑动UISearchBar

时间:2008-10-21 11:33:17

标签: iphone cocoa-touch

我想在大多数时间隐藏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];
}

2 个答案:

答案 0 :(得分:4)

如果你想弹出键盘,你需要调用[mySearchBar becomeFirstResponder]

答案 1 :(得分:2)

我将搜索栏放在视图顶部并将其隐藏起来。那你只需要:

mySearchBar.hidden = NO;

显示它。根据您正在做的事情,您可能还需要调整基础视图的大小(否则将裁剪其顶部)。它仍然没有“滑动”进入视野。在适当添加搜索栏的情况下使用全新视图可能更容易。