我正在使用此代码搜索 UItableView:
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
if(searchText.length == 0)
{
isFiltered = FALSE;
}
else
{
isFiltered = TRUE;
if (filteredTableData == nil)
filteredTableData = [[NSMutableArray alloc] init];
else
[filteredTableData removeAllObjects];
for (NSString* string in self.itemArray)
{
NSRange nameRange = [string rangeOfString:searchBar.text options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch)];
if(nameRange.location != NSNotFound)
{
[filteredTableData addObject:string];
}
}
}
[tableView reloadData];
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade];
}
一切正常,但如果我按下开始编辑时出现的取消按钮,我的列表不会回来,但搜索结果仍然存在。要显示列表,我必须开始输入,甚至是搜索栏中的单个字符,然后将其删除或按“x”以查看所有列表。有没有办法阻止取消按钮?还是在按下时显示列表?