0

Three20フレームワークを使用していますが、自動検索機能により検索が非常に遅くなります。ユーザーがパッドの[検索]ボタンをクリックすると、自動検索を無効にして検索を開始したいと思います。

自動検索を無効にする方法はありますか?どうもありがとう

4

1 に答える 1

0

XXSearchDisplayControllerから派生した新しいディスプレイコントローラを作成しますTTSearchDisplayControllerXXSearchDisplayController.m

- (BOOL)searchDisplayController:(UISearchDisplayController *)controller    
 shouldReloadTableForSearchString:(NSString *)searchString {
return NO;
}

これにより、自動検索が無効になります。この後、から派生したクラスに移動しますTTTableViewControllerXXProductsTableViewController

@implementation XXProductsTableViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        UISearchBar* searchBar = [[UISearchBar alloc] init];
        searchBar.delegate = self;
        _searchController = [[XXSearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self];
    }
    return self;
}

#pragama mark - UISearchBarDelegate
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
    [self.searchViewController.dataSource search:searchBar.text];
}
@end

上記のコードは、ユーザーが[検索]ボタンをクリックすると検索を実行します

于 2012-06-07T15:00:33.870 に答える