0

静的セル テーブル ビューに検索バーを実装しようとしています。

UITableviewコントローラーをサブクラス化しSearch Bar and Search Display Controller、.hで宣言し、設定もしました<UISearchDisplayDelegate>

私の .m ファイルで次に何をすべきかわからない.チュートリアルはすべてプロトタイプセルを参照しており、要件に合わせてコードを適応させることはできない. Applesのサンプルコードも見ました

私の最終結果は、検索バーからページ上のセルを検索することです。検索バーに行が表示されますが、検索に従って並べ替えられません。さらに、テーブル ビューに戻ると、グラフィックが壊れているように見えます。

Xcode 4.5 の使用

4

1 に答える 1

0

その質問には多くの質問があります。ここにいくつかのヒントがあります:

テーブルヘッダーに検索バーを追加します

self.tableView.tableHeaderView = self.searchBar;

デフォルトではこれを非表示にします。下にスクロールすると表示されます

[self.tableView setContentOffset:CGPointMake(0, 44)];

テーブルの検索/フィルタリングについて。必要なのは、データの配列を指すテーブルデータソースメソッドです。また、データの完全なリストの別の配列を保持する必要があります。検索時に、次のようなメソッドを呼び出します。

    - (void) performSearchWithText:(NSString *)searchText {
       if ([searchText length] > 0) {
            NSPredicate *predicate = [NSPredicate predicateWithFormat:@"cell contains[cd]   %@", searchText]; 
            NSArray *filteredArray = [self.allData filteredArrayUsingPredicate:predicate];
            self.tableData = [NSArray arrayWithArray:filteredArray];
            [self.tableView reloadData];
        } else {
            self.tableData = self.allData;
            [self.tableView reloadData];   
        }
    }
于 2012-09-28T13:11:29.037 に答える