私はUITableView
セクションと多くの行を持っています。
のすべてのセルを調べて、詳細な検索を行う必要はありませんtableview
。
すべてのセクションタイトルは、内に含まれていNSMutableArray
ます。
UITableView
セルの内容を無視して、のセクションタイトルのみを検索する簡単な方法はありますか?
ありがとうございました!
私はUITableView
セクションと多くの行を持っています。
のすべてのセルを調べて、詳細な検索を行う必要はありませんtableview
。
すべてのセクションタイトルは、内に含まれていNSMutableArray
ます。
UITableView
セルの内容を無視して、のセクションタイトルのみを検索する簡単な方法はありますか?
ありがとうございました!
テーブルの先頭にuisearchbarを挿入する必要があります。次に、タイトルを含む配列を検索し、表示する要素を含む新しい配列を作成するメソッドを実装する必要があります(タイトルとセル、2つの配列にすることもでき、通常のアプリワークフローに基づいて選択する必要があります)。テーブルをリロードします。
このAppleサンプルの実装を参照してください-次の名前の関数に注意してください:
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
ここでは、代わりに:
for (Product *product in listContent)
あなたが置くことができます:
for (NSString *sectionHeader in YourSectionArray)
また、必要に応じてこの関数の実装を変更してください。(たとえば、単純な文字列にすぎないセクションヘッダーのみを検索するため、スコープのことは無視できます)この関数は、必要に応じて変更できる単純な検索ルーチンです。これは、実際には次のデリゲート関数によって呼び出されます。これは変更したくないものです。
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
私が提案しているこのコントロールは、検索バーにすでに付属している組み込みのテーブルビューコントロールであることに注意してください。それは:
UITableViewController <UISearchDisplayDelegate, UISearchBarDelegate>
自分で検索バーを追加した場合は、上記のように、これら両方のデリゲートをUITableView.hファイルに追加する必要があります。Appleの実装例をコピーしたいのであれば、心配はいりません。