0

私はUITableViewセクションと多くの行を持っています。

のすべてのセルを調べて、詳細な検索を行う必要はありませんtableview

すべてのセクションタイトルは、内に含まれていNSMutableArrayます。

UITableViewセルの内容を無視して、のセクションタイトルのみを検索する簡単な方法はありますか?

ありがとうございました!

4

2 に答える 2

2

テーブルの先頭にuisearchbarを挿入する必要があります。次に、タイトルを含む配列を検索し、表示する要素を含む新しい配列を作成するメソッドを実装する必要があります(タイトルとセル、2つの配列にすることもでき、通常のアプリワークフローに基づいて選択する必要があります)。テーブルをリロードします。

于 2012-11-03T18:45:32.003 に答える
1

この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の実装例をコピーしたいのであれば、心配はいりません。

于 2012-11-03T18:45:41.363 に答える