2011-08-09 6 views
0

私はこの日を探していましたが、私はそれを見つけることができません....UISearchDisplayコントローラをPROGRAMMATICALLに追加するにはどうすればよいですか?

私はチュートリアルを教えて/私に何をすべきか教えてください。 ドキュメントは本当に役に立ちませんでした... 私のUITableViewControllerクラスにはこれが必要です(xibはありません)

ありがとう!

+1

あなたがこれを確認しましたか? http://stackoverflow.com/questions/2959299/gray-uisearchbar-w-matching-scope-bar-programmatically –

+0

興味深い:しかし、「検索テーブルビュー」に表示する内容を追加するにはどうすればよいですか?私はデータソースが自己であることを知っています...しかし、私はさらに何をすべきかわかりません。 –

+1

検索バーの委任メソッドを実装し、ユーザーが入力すると、古いデータソースから一致する行を取り出し、テーブルを新しいデータソースの内容で再読み込みします。 –

答えて

1

まずGray UISearchBar w/matching scope bar programmatically

が続いてテーブルビューとsearchtableview同じデータソースを使用して、両方のために、あなたはこのようなテーブルビューのデリゲートメソッドでif文を挿入する必要があります:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (tableView == self.searchDisplayController.searchResutsTableView) { 
     tableViewData = searchResultsData objectatindex...; //array with filtered data 
    } else { 
     tableViewData = defaultData objectatindex...; //array with unfiltered data 
    } 
} 

は同じことを行います行数デリゲートメソッド:

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    if (tableView == self.searchDisplayController.searchResultsTableView) { 
     return searchResultsData.count; 
    } else { 
     return defaultData.count; 
    } 
} 

次に、検索テキストの変更または検索ボタンが押された後(UISearchBarのdeleteゲートメソッド)、表示するデータをリロードします。

関連する問題