swift: TableViewCell 不改变颜色

swift: TableViewCell doesn't change colors

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

在它的 viewDidLoad() 中,它使用 UIStoryboard.instantiateViewController 实例化一个名为 InitialViewController 的 UIViewController 并使用带有 Initial[= 的构造函数创建自定义 UINavigationController 30=] 作为根。 然后它创建另一个 UIViewController 并将 RootViewController 作为成员。 最后它调用

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

而 drawerController 在 viewDidLoad() 中对 RootViewController 做同样的事情。 执行与其他 VC 而不是 InitialViewController 的相同过程以在一些 ViewController 之间交换。 这些其他视图控制器之一再次是一个容器,它实例化一个名为 OnePager 的 ViewController 并按上述方式添加它。这个 OnePager 包含一个带有几个 containerView 的 ScrollView,每个 containerView 包含一个 ViewController。其中之一有一个 UITableView 和具有自定义 class 的 TableCell。在tableView(cellforRowAt:)函数中设置了单元格内2个标签的背景和字体颜色,此时可以正常使用。 当它启动时,它可能还没有数据,因此在加载数据后在 table 上调用 reloadData。 但是当用户切换回 InitialView(使用与开始时相同的过程)并再次切换到 OnePager 时,不再应用颜色。在某些单元格上,isHidden 变量设置为 true 并且仍然有效,只是颜色不起作用。 谁能帮我?代码太多无法复制到这里

试试看

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

}

我在集合视图中遇到了同样的问题