当我推单元格并将其折叠时,我希望单元格中的图标更改其位置
这是表格视图的代码:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! TableViewCell
cell.serviciosLabel.text! = nameArr[indexPath.row]
cell.serviciosImageView.image = UIImage(named: "\(imageArr[indexPath.row])")
/* if (indexPath.row == 2){
cell.serviciosExpandableView.image = UIImage(named: "\(imgcoll)")
}
*/
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
if indexPath.row == 0 {
pushVentasTab() // pushVentaArticulos()
} else if indexPath.row == 1 {
pushReporteDDia()
} else if indexPath.row == 2 {
if SelectedIndex == indexPath.row
{
if self.isCollapce == false
{
self.isCollapce = true
}else
{
self.isCollapce = false
}
}else{
self.isCollapce = true
}
}
self.SelectedIndex = indexPath.row
tableView.reloadRows(at: [indexPath], with: .automatic)
}
}
我不知道如何更改它,请看看并帮助我
答案 0 :(得分:1)
这就是您要做的。 为TableViewCell创建一个快速文件,并使用IB将按钮和标签连接到代码。
在tableCell swift文件中,声明一个变量iconExpanded
var iconExpanded: Bool = false {
didSet {
setupCell()
}
}
setupCell()中的逻辑可更改按钮的图像
func setupCell(){
if (iconExpanded) {
// set the image to expanded
} else {
// set the image to closed
}
}
只要您的表格视图发生变化,请为特定的单元格设置折叠或展开的值,然后重新加载特定的部分。
let sections = IndexSet.init(integer: 0)
tableView.reloadSections(sections, with: .automatic)
最后将按钮状态的更改发送到单元格。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! TableViewCell
cell.serviciosLabel.text! = nameArr[indexPath.row]
cell.serviciosImageView.image = UIImage(named: "\(imageArr[indexPath.row])")
cell.iconExpanded = <true for expand // false for collapse>
return cell
}
nameArr是一个数组,创建一个结构以存储每个单元格的名称和扩展状态。