如何在不同的视图控制器之间快速更改特定单元格的视图

问题描述 投票:0回答:1

我正在构建一个记录器应用程序,用户可以保存其记录。如何更改UITableView中某个单元格的视图以向用户显示此单元格正在播放,并且可以同时更改其他ViewController中具有相同内容的单元格?此外,当音频播放器完成时。该视图可以更改回默认值。

我已经尝试覆盖setSelected,但是当我重新加载表格视图时,该单元格无法保持选中状态,并且在音频结束后,无法自行取消选择该单元格。我也无法同时更改具有相同内容(相同音频)视图的单元格。有办法解决这个问题吗?

override func setSelected(_ selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)
    // Configure the view for the selected state
    if selected {
        print("task has began")
    } else if !selected {
        print("task has finished")
    }
}    

[结果将类似于苹果音乐或播客,应用程序中具有相同节目的单元将显示是否正在播放。

swift uitableview selected
1个回答
0
投票

首先在xib内部查看IBOutlet

class TableViewCell: UITableViewCell {

    @IBOutlet weak var generaV: UIView!
}

set Identifier  = TableViewCell

并在所需的多个文件中调用数据源方法,并在不同的VC中更改.red / .blue之类的颜色

在ViewController中调用单元格

     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
                let cell = tableView.dequeueReusableCell(withIdentifier: "TableViewCell", for: indexPath) as! TableViewCell

               if (audioEnded){ 
cell.generaV.backgroundColor  = UIColor.green
}
                 else {
   cell.generaV.backgroundColor  = UIColor.red
}


                return cell
            }
© www.soinside.com 2019 - 2024. All rights reserved.