搜索时的UISearchBar和Header Title

时间:2011-08-15 10:48:00

标签: objective-c ios4 xcode4 uisearchbar

我有一个UISearchBar,当我搜索内容时,它只显示第一部分的标题。我有3个部分,这段代码:

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {

    if(searching)
        return @"Search Results";

    if (section == 0)
        return @"First";
        if(section == 1)
            return  @"Second");
        else
            return @"Third");
}

这是否应该在我搜索标题时应根据各节的内容进行更改?

即。如果我在“第一个”中有“A”,“第二个”,“C”中的“B”,“第三个”,是否应该更改为我搜索的每个元素的相应部分标题?

此外,当我从第一部分(即“C”)搜索不同的内容,并且我点击其行时,笔尖控制器不会显示。它恰好显示了第一部分的元素..为什么?

1 个答案:

答案 0 :(得分:2)

  

首先,我们不知道您的搜索变量的值是多少。它的失败是因为它给你带来了错误的价值。这是我的简单解决方案。你不需要检查是否是搜索模式,你总是可以返回默认字符串我们假设是@“搜索结果”

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {

 NSString *headerTitle;
   if (section == 0)
        headerTitle = @"First";
   if(section == 1)
        headerTitle = @"Second");
   else if(section == 2)
        headerTitle = @"Third");
   else
        headerTitle = @"Search Results";
return headerTitle;
}