我一直在寻找这一天,但我找不到它......
有人能指点我一个教程/告诉我应该怎么做? 文档不是真的有用...... 我需要这个用于我的UITableViewController类(没有xib!)
非常感谢!
答案 0 :(得分:1)
首先做Gray UISearchBar w/matching scope bar programmatically
然后由于tableview和searchtableview都使用相同的数据源,你必须在tableview委托方法中插入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委托方法),重新加载要显示的数据。