gpt4 book ai didi

ios - UISearchBar 未从 UITableView 中过滤自定义单元格图像

转载 作者:可可西里 更新时间:2023-11-01 06:16:17 26 4
gpt4 key购买 nike

我正在尝试使用搜索栏过滤 TableView。 TableView 有一个自定义原型(prototype)单元格,它有一个 Imageview 和一个标签,因此可以调用它。标签隐藏在图像下方。

我有两个数组,每个数组有 94 个项目。当没有搜索任何内容时,它工作正常。表格 View 以完美的顺序显示图像/单元格。

当我搜索某些内容时,返回的结果总是带有适当数量的单元格。但是,图像本身不会被过滤。这意味着无论按标签过滤什么单元格,图像都将始终相同。

这是我的 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;
}

感谢您的提问 - 让我知道您的想法 :)我花了大约 10 个小时在网上搜索 :S

最佳答案

你应该使用一个 nsmutuable 数组并添加 nsdictionary,其中包含一个键 imagename 和一个键 Name 作为字符串

[filteredHeroes addObject:[NSDictionary dictionaryWithObjectsAndKeys:name,@"Name",ImageName,@"Image", nil]];
在 cellForRowAtIndexPath 中使用相同的 filteredHeroes 并使用键名称过滤相同的数组并重新加载 TableData 并完成。

关于ios - UISearchBar 未从 UITableView 中过滤自定义单元格图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13944599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com