2008-10-21 65 views
5

我想隐藏的UISearchBar大部分时间,只把它当用户希望它出现。滑动的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]; 
} 

回答

4

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

+0

这是很棒的提示,欢呼声 – Dan 2008-10-21 12:49:56

2

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

mySearchBar.hidden = NO; 

来显示它。根据你在做什么,你可能还需要调整底层视图的大小(否则它的顶部将被裁剪)。它仍然不会“滑入”视野。使用适当地附加搜索栏的全新视图可能更容易。