我想用搜索欄過濾TableView。 TableView有一個自定義原型單元,它具有Imageview和標籤,因此可以調用它。標籤隱藏在圖像下方。UISearchBar不過濾從UITableView的自定義單元格圖像
我有兩個數組,每個94個項目。當沒有任何搜索時它工作正常。 tableview以完美的順序顯示圖像/單元格。
當我搜索某些東西時,結果總是會返回適當數量的單元格。但是,圖像本身沒有被過濾。這意味着無論通過標籤過濾哪些單元格,圖像都將始終如一。
這是我的UISearchBar代碼的問題嗎?
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
if (searchText.length == 0) {
isFiltered = NO;
} else {
isFiltered = YES;
filteredHeroes = [[NSMutableArray alloc]init];
for (NSString *str in totalHeroData) {
NSRange heroRange = [str rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (heroRange.location != NSNotFound) {
[filteredHeroes addObject:str];
}
} } [self.HeroTableView reloadData]; }
我很樂意提供任何其他資源。請記住,我有兩個94項目的陣列。如果我需要鏈接它們,我想知道如何做到這一點。
謝謝。
編輯:這裏是的cellForRowAtIndexPath方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath
*)indexPath {
static NSString *CellIdentifier = @"heroTableCell";
HeroTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[HeroTableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier: CellIdentifier];
}
// Configure the cell...
cell.textLabel.text = [self.heroNames objectAtIndex:indexPath.row];
cell.imageView.image = [UIImage imageNamed:[self.heroImages objectAtIndex:indexPath.row]];
return cell;
}
感謝asking-讓我知道你在想什麼:) 我花了大約10小時在網上搜索:S
您需要發佈您的cellforrowatindexpath方法。 – iDev
已添加! cellforrowatindexpath方法:) – Nick
在searchBar:textDidChange中:您正在過濾filteredHeroes數組中的數據以及您正在使用heroNames&heroImages的cellForRowAtIndexPath中的數據。你能告訴你如何與這些有關嗎? –