xcode , 索引路径, 搜索栏
xcode , indexPath, SearchBar
我的 NavigationController 和带有 indexPath 的搜索栏有问题。我有一个 Tableview,其中有一个项目列表。每行的项目是 1. 图像和 1. 图像描述(标签)。
现在我尝试为列表粘贴 SearchBar。它工作得很好但是当我搜索时列表的第二项 (AssaultGren.),table 显示错误的(第一张)图像。这是因为当我搜索第二个项目时,搜索视图中的第一个项目.....现在我不知道如何修复它。也许有人可以帮助我?谢谢大家
https://imgur.com/a/6Bgri6E "NormalView"
https://imgur.com/a/yLgIETp "SearchView"
func tableView(_ tableView: UITableView, cellForRowAt indexPath:
IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for:
indexPath) as? WehrmachtUnitsCellTableViewCell
if searching{
cell?.UnitName?.text = searchUnits[indexPath.row]
} else {
cell?.UnitName.text = units[indexPath.row]
cell?.UnitBild.image = UIImage(named : units[indexPath.row])
}
return cell!
}
}
我想你忘了设置正确的图像以防你正在搜索。由于 table 视图单元格被 iOS 重复使用,它保留了之前设置的图像,因此您必须重新设置它。
试试这个:
if searching{
cell?.UnitName?.text = searchUnits[indexPath.row]
cell?.UnitBild.image = UIImage(named : searchUnits[indexPath.row])
} else {
cell?.UnitName.text = units[indexPath.row]
cell?.UnitBild.image = UIImage(named : units[indexPath.row])
}
我的 NavigationController 和带有 indexPath 的搜索栏有问题。我有一个 Tableview,其中有一个项目列表。每行的项目是 1. 图像和 1. 图像描述(标签)。
现在我尝试为列表粘贴 SearchBar。它工作得很好但是当我搜索时列表的第二项 (AssaultGren.),table 显示错误的(第一张)图像。这是因为当我搜索第二个项目时,搜索视图中的第一个项目.....现在我不知道如何修复它。也许有人可以帮助我?谢谢大家
https://imgur.com/a/6Bgri6E "NormalView"
https://imgur.com/a/yLgIETp "SearchView"
func tableView(_ tableView: UITableView, cellForRowAt indexPath:
IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for:
indexPath) as? WehrmachtUnitsCellTableViewCell
if searching{
cell?.UnitName?.text = searchUnits[indexPath.row]
} else {
cell?.UnitName.text = units[indexPath.row]
cell?.UnitBild.image = UIImage(named : units[indexPath.row])
}
return cell!
}
}
我想你忘了设置正确的图像以防你正在搜索。由于 table 视图单元格被 iOS 重复使用,它保留了之前设置的图像,因此您必须重新设置它。 试试这个:
if searching{
cell?.UnitName?.text = searchUnits[indexPath.row]
cell?.UnitBild.image = UIImage(named : searchUnits[indexPath.row])
} else {
cell?.UnitName.text = units[indexPath.row]
cell?.UnitBild.image = UIImage(named : units[indexPath.row])
}