1

我的 NavigationController 和 indexPath 的搜索栏有问题。我有一个表格视图,其中有一个项目列表。每行的项目是 1. 图像和 1. 图像描述(标签)。

现在我尝试为列表粘贴一个 SearchBar。它工作得很好,但是当我搜索例如列表的第二项(AssaultGren。)时,表格显示了错误的(第一个)图像。这是因为当我在搜索第二个项目时是 searchView 中的第一个项目.....现在我不知道如何修复它。也许有人可以帮助我?多谢你们

https://imgur.com/a/6Bgri6E “普通视图”

https://imgur.com/a/yLgIETp "搜索视图"

    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!
}

}

4

1 回答 1

0

我想你忘了设置正确的图像,以防你正在搜索。由于 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])
    }
于 2019-01-16T18:54:25.153 回答