我有一个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”)搜索不同的内容,并且我点击其行时,笔尖控制器不会显示。它恰好显示了第一部分的元素..为什么?
答案 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;
}