5

我想大部分时间隐藏 UISearchBar 并且只在用户需要时才调用它。

我在 Interface Builder 中放置了一个 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];
}
4

2 回答 2

4

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

于 2008-10-21T12:19:57.440 回答
2

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

mySearchBar.hidden = NO;

显示它。根据您正在做的事情,您可能还需要调整底层视图的大小(否则它的顶部将被裁剪)。而且它仍然没有“滑入”视野。使用带有适当附加搜索栏的全新视图可能会更容易。

于 2008-10-21T11:55:18.020 回答