迅速:TableViewCell不会改变颜色

时间:2019-06-24 13:46:20

标签: ios swift uitableview uiviewcontroller

我有一个奇怪的错误: 不幸的是,该应用程序的构建相当复杂: 它以一个名为RootContainerViewController的“普通viewcontroller”开头。

viewDidLoad()中,它使用UIViewController实例化一个名为InitialViewController的UIStoryboard.instantiateViewController,并使用以InitialViewController为根的构造函数创建自定义UINavigationController。 然后,它创建另一个将RootViewController保留为成员的UIViewController。 最后,它调用

self.addChildViewController(drawerController!)
view.addSubview(drawerController!.view)

,而抽屉控制器对RootViewController中的viewDidLoad()进行相同操作。 执行与其他VC而不是InitialViewController相同的过程,以在某些ViewController之间进行交换。 这些其他视图控制器之一也是一个容器,该容器实例化一个称为OnePager的ViewController并如上所述进行添加。此OnePager将ScrollView包含几个容器视图,每个容器视图都包含一个ViewController。其中之一具有UITableView,其中TableCell具有自定义类。在tableView(cellforRowAt:)函数中,设置了单元格内2个标签的背景和字体颜色,这时效果很好。 当初始化时,它可能已经没有数据,因此在加载数据后在表上调用reloadData。 但是,当用户交换回InitialView(与开始时的过程相同)并再次交换到OnePager时,不再使用颜色。在某些单元格上,isHidden Variable设置为true,并且仍然有效,只有颜色无效。 谁能帮我?太多的代码无法在此处复制

1 个答案:

答案 0 :(得分:1)

尝试

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

}

我在收藏夹视图中遇到了同样的问题