6

によって使用されるテーブルビューをどのように制御するのか疑問に思いますUISearchDisplayControllerは読み取り専用のプロパティであるため、のsearchResultsTableViewプロパティを上書きすることはできません。UISearchDisplayController

searchResultsTableViewカスタムでオーバーレイしようとしましたUITableView。これは1回だけ機能しますが、2回目の検索を試みるとすぐに、本物searchResultsTableViewが再びトップになります。(つまり、にテキストを入力するsearchBarと、カスタムテーブルビューが一番上に表示され、検索結果が表示されます。その後、キャンセルボタンを押します。これを繰り返すと、カスタムテーブルは表示されずsearchResultTableView、 UISearchDisplayControllerが一番上になります)。

もちろん、なしで試すこともできますがUISearchDisplayController、このクラスの利点を頼りに、をカスタマイズしたいだけですtableView

4

2 に答える 2

6

searchResultsTableViewを設定することはできませんが、適切なデリゲートメソッドで操作することはできます。

-(void)searchDisplayController:(UISearchDisplayController *)controller didLoadSearchResultsTableView:(UITableView *)tableView {
   tableView.backgroundColor = self.tableView.backgroundColor;
   tableView.separatorColor = self.tableView.separatorColor;
       ...
于 2010-02-03T15:55:49.610 に答える
2

TableViewDataSourceプロパティがありUISearchDisplayController、このデータソースはを生成しUITableViewCellます。プロトコルを実装するUITableViewDataSourceと、メソッドでtableViewのカスタマイズを制御できます。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

于 2010-07-01T12:32:02.627 に答える