Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift UITableView单元格在滚动时更改图像_Ios_Swift_Uitableview - Fatal编程技术网

Ios Swift UITableView单元格在滚动时更改图像

Ios Swift UITableView单元格在滚动时更改图像,ios,swift,uitableview,Ios,Swift,Uitableview,我的tableview单元格中有一个图像,当选定单元格时,该图像将变为黑色,而默认单元格将变为灰色。问题是,当我向下滚动屏幕并再次向上滚动时,图像会被转回,就好像它们没有被选择为图像“cellSelected”。因此,滚动选定单元格后,图像应为“cellSelected”,但它们的图像为“cellNotSelected”。如何确保我的应用程序记住选定的单元格图像 override func tableView(_ tableView: UITableView, didSelectRowAt in

我的tableview单元格中有一个图像,当选定单元格时,该图像将变为黑色,而默认单元格将变为灰色。问题是,当我向下滚动屏幕并再次向上滚动时,图像会被转回,就好像它们没有被选择为图像“cellSelected”。因此,滚动选定单元格后,图像应为“cellSelected”,但它们的图像为“cellNotSelected”。如何确保我的应用程序记住选定的单元格图像

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let cell = tableView.cellForRow(at: indexPath) as! CustomerSelectsBusinessesCell
    cell.selectedCell.image = UIImage(named: "cellSelected")

    updateCount()
}

override func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
    let cell = tableView.cellForRow(at: indexPath) as! CustomerSelectsBusinessesCell
    cell.selectedCell.image = UIImage(named: "cellNotSelected")
    updateCount()
}

您需要将状态更改保存在数据模型的某个位置,然后编辑数据源方法(特别是CellForRowatineXpath),以显示处于新选定状态的单元格


对单元格所做的任何更改都是如此。如果单元格滚动到屏幕外,它将被回收,您对其视图所做的任何自定义将不再与该视图关联。因此,当用户对单元格执行操作时,您始终需要在数据模型中记录信息。

您需要将状态更改保存在数据模型中的某个位置,然后编辑数据源方法(特别是CellForRowatineXpath),以显示处于新选定状态的单元格

对单元格所做的任何更改都是如此。如果单元格滚动到屏幕外,它将被回收,您对其视图所做的任何自定义将不再与该视图关联。因此,当用户对单元格执行操作时,始终需要在数据模型中记录信息