xcode,索引路径,搜索栏
Posted
技术标签:
【中文标题】xcode,索引路径,搜索栏【英文标题】:xcode , indexPath, SearchBar 【发布时间】:2019-01-16 18:44:18 【问题描述】:我的 NavigationController 和带有 indexPath 的搜索栏有问题。我有一个表格视图,其中有一个项目列表。每行的项目是 1. image 和 1. image description(label)。
现在我尝试为列表粘贴一个搜索栏。它工作得很好但是当我在搜索时列表的第二项 (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!
【问题讨论】:
是否有理由在不搜索时设置文本和图像,而在搜索时只设置文本?您需要分配图像,例如UIImage(named : searchUnits[indexPath.row])
哇,谢谢伙计们..它成功了
【参考方案1】:
我想你忘了设置正确的图像,以防你正在搜索。由于 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])
【讨论】:
谢谢,但它不起作用。问题是,我首先用 indexPath 修复了图像。第一行,第一张图片,第二行第二张图片等等....所以当我搜索时,第一行显示第五个元素的图像(当我搜索第五个元素时) @Phil 很高兴听到这个消息!那么请你把答案标记为正确的吗?谢谢!以上是关于xcode,索引路径,搜索栏的主要内容,如果未能解决你的问题,请参考以下文章
UISearchbar 并在查看控制器 xcode swift 中传递数据
Azure Blob 存储:是不是可以使用特定虚拟文件夹(路径)内的 Blob 索引标签进行搜索?