2011-12-26 6 views
0

Когда я добавляю uisearchbar и нажимаю на нее, я получаю в ней клавиатуру с кнопкой Search. Мне нужно получить доступ к этой кнопке, например, когда пользователь вводит некоторую строку в search field и нажимает на поиск, мне нужно распечатать NSLog с введенным им текстом.Программирование кнопки поиска на клавиатуре

1.) Как я могу получить доступ к IBAction этой кнопки поиска?

2.) Мне также нужно закрыть клавиатуру, когда пользователь нажимает на фон, Как я могу сделать это программно?

ответ

0

есть вы реализуете метод делегата поискового бара:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar 
{ 
    NSLog(@"Search string",[searchBar text]); 
} 
0

Implement UISearchBarDelegate.

1) реализовать метод

// это эквивалентно IBAction вам требуется

-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar 
{ 

} 

2) Есть выход для SearchBar, сказать свое имя, _searchBar. Реализовать touchesEnded следующим образом.

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    [_searchBar resignFirstResponder]; 
} 

Это, чтобы скрыть клавиатуру.

2

Использование делегата UISearchBar, вы можете «обнаружить» как: кнопки поиска на SearchBar или кнопку поиска на клавиатуре:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{ 
    [self buttonSearchPressed]; 
} 

-(IBAction)buttonSearchPressed{ 
    .... 
    [yoursearchbar resignFirstResponder]; 
} 
Смежные вопросы