实现搜索栏iOS 6表视图静态单元格

时间:2012-09-28 10:46:07

标签: objective-c ios uisearchbar xcode4.5

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

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

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

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

使用Xcode 4.5

1 个答案:

答案 0 :(得分: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];   
        }
    }