2008-10-21 2 views
5

Я бы хотел (а) скрыть UISearchBar большую часть времени и только вызывать его, когда пользователь хочет его.slide UISearchBar

Я установил UISearchBar в Interface Builder и спрячу его за представлением, когда пользователь нажимает кнопку, он вызывает следующий код, который я надеялся, что он приведет панель поиска на передний план и сдвинет клавиатуру для просмотра , Но это не ...

- (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; 

для его отображения. В зависимости от того, что вы делаете, вам также может потребоваться изменить размер основного представления (иначе верхняя часть будет обрезана). И он все еще не «скользит» в поле зрения. Может быть проще использовать совершенно новый вид с подходящей панелью поиска.