0

我试图在静态单元格表​​视图上实现搜索栏。

我对 UITableview 控制器进行了子类化,Search Bar and Search Display Controller在 .h 中声明并设置了<UISearchDisplayDelegate>

现在我不确定在我的 .m 文件中下一步该做什么,我看过的教程都指的是原型单元,我似乎无法根据我的要求调整代码。我还查看了 Apple 的示例代码

我的最终结果是从搜索栏中搜索页面上的单元格。我的搜索栏会显示行,但不会根据搜索对它们进行排序。此外,当返回到表格视图时,它似乎在图形上已损坏。

使用 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 回答