在TableView reloadData Swift

时间:2019-05-08 13:43:12

标签: swift uitableview

我有一个iPad TabBar导航应用程序,在OrderViewController的左侧有一个表格视图,在view的右侧有一个出口,就像一种拆分视图控制器一样。单击tableView的{​​{1}}时,它会在另一半屏幕上显示详细信息。当我为A / B测试引入两种不同的配色方案时,我使用一个开关执行颜色更改。 cell的{​​{1}}不能成功切换颜色。在tableView中添加cells并不能解决问题。 除单元格外,所有内容都会更新,它们会保持第一次创建时的颜色。 我在每个阶段都添加了打印件,并且发现仅第一次调用了该单元格的reloadData()。如何在viewWillAppear上调用它?一如既往的感谢。

awakeFromNib():

awakeFromNimb

viewWillAppear():

tableView.reloadData()

1 个答案:

答案 0 :(得分:0)

使用tableView委托willDisplayCell

https://developer.apple.com/documentation/uikit/uitableviewdelegate/1614883-tableview

class MyCustomVC: UITableViewDelegate {

    override func tableView(_ tableView: UITableView, 
        willDisplay cell: UITableViewCell, 
           forRowAt indexPath: IndexPath) {

           guard var cell = tableView.dequeueReusableCell(withIdentifier: "yourReuseIdentifier", for: indexPath) as? YourCustomCell else {
               return UITableViewCell()
           }

           cell.configureUi()
    }

}