- //当搜索框将要开始使用时调用。yes表示搜索框可以使用,默认为yes否则搜索框无法使用
- - (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar{
- NSLog(@"ShouldBegin");
- return YES;
- }
- //当搜索框开始编辑时候调用
- - (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar{
- NSLog(@"DidBegin");
-
- }
- //当搜索框将要将要结束使用时调用。
- - (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar{
- NSLog(@"ShouldEnd");
-
- return YES;
- }
- //当搜索框结束编辑时候调用
- - (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar{
- NSLog(@"DidEnd");
- }
-
- //当field里面内容改变时候就开始掉用。
- - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
- NSLog(@"DidChange");
-
- }
- //在field里面输入时掉用,询问是否允许输入,yes表示允许,默认为yes,否则无法输入
- - (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
- NSLog(@"shouldChange");
- return YES;
- }
- //点击SearchButton调用
- - (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
- NSLog(@"SearchButtonClicked");
- }
- //点击BookmarkButton调用
- - (void)searchBarBookmarkButtonClicked:(UISearchBar *)searchBar {
- NSLog(@"BookmarkButtonClicked");
-
- }
- //点击CancelButton调用
- - (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
- NSLog(@"CancelButton");
- }
- //点击ResultsListButton调用
- - (void)searchBarResultsListButtonClicked:(UISearchBar *)searchBar{
- NSLog(@"ResultsListButton");
- }
3.使用代理方法时需要注意以下问题
- 调用BookmarkButton的点击方法,需要先设置showsBookmarkButton = YES,并且showsSearchResultsButton 不能同时设置为yes,否则不会显示BookmarkButton,导致无法调用方法
- _searchBar.showsBookmarkButton = YES;//是否在搜索框右侧显示一个图书的按钮,默认为NO,
- 调用ResultsListButton的点击方法,设置showsSearchResultsButton = YES;
- _searchBar.showsSearchResultsButton = YES;