1

tableView を含む viewController があります。テーブルのヘッダーに UIView があり、searchDisplayController をセグメント化されたコントロールと共にビューにドラッグしました。(不思議に思っていたので、何らかの理由でスコープを使用したくありませんでした)。今私の問題は、ユーザーが検索バーに入力している場合でも、cellForRow の (tableView==self.searchDisplayController.searchResultsTableView) のチェックが失敗することです。理由がわからない???私の知る限り、コントローラーをビューにドラッグすると、すべてのデリゲートなどが自動的に接続されます。チェックは、ユーザーがキーボードの検索ボタンを押してテーブルを少しスクロールした場合にのみ真になります。

ここで何が起こっているのか、誰かに光を当てることができますか? それは私を夢中にさせます!

どうもありがとう

ジュール

4

2 に答える 2

9

self.searchDisplayController.activeたとえば、次のように使用することもできます。

if (self.searchDisplayController.active) {
    return [searchResultArray count];
} else {
    return [regularDataArray count];
}

お役に立てれば!ただし、これを正しい方法で行おうとしている場合は、検索用と既定のバージョン用に 1 つずつ、別のデータ ソースが必要です。

于 2013-11-19T19:20:57.877 に答える
1

私はこれを理解できなかったので、別の方法でそれをしました。BOOL isSearchTable を使用し、これを willShowSearchResultsTableView と willHideSearchResultsTableView に設定します。

于 2012-06-27T10:05:09.657 に答える